最近买了中景园5.5寸的OLED显示屏,官方给的驱动程序是在stm32f103VC版本上的,由于在stm32f103c8t6上显示,于是需要移植。
基本情况:官方给的例程是使用GPIO口模拟的SPI驱动显示液晶屏
1、修改GPIO口,将OLED模拟显示GPIO口组全部替换成stm32f103c8t6上有的GPIO口
2、修改芯片容量.S文件
由于stm32f103vc使用的.S文件是starup_stm32f10x_hd.s
而stm32f103c8t6使用的.S文件是starup_stm32f10x_md.s
3、修改芯片型号
在锤子型号的按钮下的device下,将芯片型号从stm32f103VC修改位stm32f103c8t6
4、修改宏定义
在锤子型号的按钮下的C/C++下,将Preprocessor Symbols 下Define中的STM32F10X_HD修改为STM32F10X_MD
---------------------------------
在Preprocessor Symbols 下的Define中,
USE_STDPERIPH_DRIVER是告诉编译器,我们需要使用标准库了,这是.c/.h文件里面定义的一个宏
STM32F10x_HD是告诉编译器,表示我们使用的芯片是大容量的stm32,告诉那些.c/.h文件,使用相关代码。
-----------------------------------
以上就是移植的全部步骤,
如果缺少第四步,将会出现 error: #67:expected a "}"的错误,原因就是在工程配置中定义了STM32F10X_HD,而实际是使用的STM32F10X_MD
原文地址:https://www.cnblogs.com/cjyc/p/11111370.html