最近買了中景園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