先上链接
这是我修改的例程下载网站
http://www.lcdwiki.com/zh/0.96inch_SPI_OLED_Module
硬件连接:
D0:PB10
D1:PB11
RES:PB12
DC:PB13
CS:PB15
我的:在上百度云链接
链接:https://pan.baidu.com/s/1xmjwNlw9EV-PHe3Z-YypFw
提取码:1234
硬件连接
D0:PA4
D1:PA5
RES:PA6
DC:PA7
CS:GND
SPI管脚说明
GND VCC 明显不用改。
CS 是片选 因为我们只有一个SPI外设(oled屏)因此无需使用。
因此我们只需要更改D0 D1 RES DC 四个管脚gpio的定义即可。
打开工程后改三个地方:
1.
spi.h
在spi.h中更改 D0 D1 的管脚定义,网站上下载的例程是IO口是:
D0:PB13
D1:PB15
我改成了PA4(D0,时钟总线),
PA5(D1,数据总线)
oled.h
在oled.h中更改RES DC CS 的管脚定义,
网上例程的管脚:
CS:PB11
RES:PB12
DC:PB10
我定义的管脚是
RES:PA6
DC:PA7
CS:没有用到,因此没有更改定义。
oled.c
因为用到了PA4,PA5,PA6,PA7,四个io口所以在这里更改PB10,PB11,PB12,PB13,PB15,为PA4,PA5,PA6,PA7。(CS片选端不需要,因此不用管它)
此外,烧录工程时,可能因为芯片不同报错,例程芯片为STM32F103RCT6
我的是C8T6 ,并且下载器不同,因此下载的时候会报错。
我的解决方法:
1.
点击魔法棒
2.点击Device,选择自己的芯片型号(以改为我的STM32F103C8)
要是没有的话,需要下载相应的芯片支持包
(stm所有支持包)
3.进入C/C++
我的c8t6是中等容量芯片所以选中的地方改为"M",如果是大容量芯片则选中部分改为“H”,小容量芯片改为“L”
4.进入debug选则自己用的下载器
5.进入Utilities
点击 Seting -> 点击Add
选择自己芯片容量对应的型号 -> 点击Add
我的c8t6是中等容量,因此选择STM32F10X Med-density Flash。
如果在第2步选择了大容量芯片或小容量芯片,则会出现对应的选项:
STM32F10X High-density Flash
STM32F10X Low-density Flash
点击Cancel->确定->OK,完成设置。