|
最近有个PCB电路板,原有的主控采用的是STM32F103,因项目需要,将主控更换成STM32F407VET6。 对比整个数据手册的外设接口,发现需要更改的外设引脚并不多。因此,刚开始感觉工作量应该不会很大。 首先我们在官网下载了STM32F4的标准库文件,下载地址:STM32F4 DSP和标准外设库,最新版本是1.9.0版本。
下载并提供STM32F1的标准库。然后替换CMISI中STM32F4相关的启动文件、中断等。将代码中的STM32F1头文件全部更换成STM32F4。
整个代码移植完成后,进行测试。发现连接在PB0和PB1接口的OLED屏幕不亮,经过单步调试,发现PB(0)=1,这段代码后,PB的引脚电平仍然是0V。
经过仔细查找原因,发现需要提供sys文件,因为Cortex-M4内核和Cortex-M3内容中,寄存器的位置不一样。
更换该文件后,屏幕正常点亮。
最后,需要保持代码的写作规范和一致性。尽量不使用类似PB(0)这种类似51单片机的写法,而是使用GPIO_SetBits函数。
|