woshi_ziyu
发表于: 昨天 14:45 | 显示全部楼层

最近有个PCB电路板,原有的主控采用的是STM32F103,因项目需要,将主控更换成STM32F407VET6。

对比整个数据手册的外设接口,发现需要更改的外设引脚并不多。因此,刚开始感觉工作量应该不会很大。

首先我们在官网下载了STM32F4的标准库文件,下载地址:STM32F4 DSP和标准外设库,最新版本是1.9.0版本。

STM32F4.jpg

下载并提供STM32F1的标准库。然后替换CMISI中STM32F4相关的启动文件、中断等。将代码中的STM32F1头文件全部更换成STM32F4。


整个代码移植完成后,进行测试。发现连接在PB0和PB1接口的OLED屏幕不亮,经过单步调试,发现PB(0)=1,这段代码后,PB的引脚电平仍然是0V。


经过仔细查找原因,发现需要提供sys文件,因为Cortex-M4内核和Cortex-M3内容中,寄存器的位置不一样。

SYS.jpg


更换该文件后,屏幕正常点亮。


最后,需要保持代码的写作规范和一致性。尽量不使用类似PB(0)这种类似51单片机的写法,而是使用GPIO_SetBits函数。



跳转到指定楼层
如果你能看到我的世界里那些渐渐消逝的美好,你就能体会到现在所拥有的幸福。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题 38 | 回复: 56



手机版|

GMT+8, 2025-6-26 07:05 , Processed in 0.037375 second(s), 8 queries , Gzip On, MemCache On. Powered by Discuz! X3.5

YiBoard一板网 © 2015-2022 地址:河北省石家庄市长安区高营大街 ( 冀ICP备18020117号 )

快速回复 返回顶部 返回列表