STM32/STM8技术william hill官网
直播中

石双厚

7年用户 195经验值
私信 关注
[问答]

将STM32F103的程序移植到STM32F107VC上,用不了该怎么办

做毕业设计,小白一枚,把DW1000测距的代码从STM32F103上移植到STM32F107VC上,改了启动文件和宏定义,也改了时钟,程序可以成功编译,但是下到板子上没办法完成测距功能,老师让我回来看看是不是SPI接口不一样,但是我看完全是一样的,现在不知道怎么办,求各位大神指教!
如果需要什么代码可以跟我说,我也不知道是哪部分出了问题

回帖(11)

李敏

2019-1-8 09:49:59
移植前先搭一个简单的led工程,确认OK,再移植代码,确保通信的时序是正确,用示波器测一下SPI接口的时钟
举报

史乃原

2019-1-8 09:59:51
正确的移植方法是在STM32F107VC上新建工程,并且保证新建的工程师没有问题的,比如延时翻转LED灯,然后在把应用代码部分移植过来,不要在原有的工程上去移植,那样会有很多问题,比如有可能编译没有问题,链接时因为Flash的大小不同导致下载到MCU后不能正常运行。
举报

李维嘉

2019-1-8 10:15:59
你是用的固件库开发的吗?有STM32CubeMX新建个HAL的工程试一下。
测试一下SPI口的波形,看看时钟频率是否一致,数据片选的起始状态是否正常。
跟踪一下你的关于系统时钟的寄存器,看是否与103一致,必须先保证系统时钟。SPI相关寄存器是否正常。
举报

刘翔宇

2019-1-8 10:35:12
我也建议工程新键,然后把应用代码移植过去,因为工程包含的很多东西可能会不一样
举报

石双厚

2019-1-8 10:45:00
引用: bbslsk 发表于 2019-1-8 18:05
我也建议工程新键,然后把应用代码移植过去,因为工程包含的很多东西可能会不一样

好的,我新建工程试试
举报

石双厚

2019-1-8 10:55:45
另外,测距有两块板子,一块发送一块接收,SPI接口应该怎么配置?
举报

汪芳

2019-1-8 11:11:06
你可以把原来的文件贴上来,也许有人会帮你把事情搞定的
举报

石双厚

2019-1-8 11:30:19
引用: 苏州名之卓 发表于 2019-1-8 18:41
你可以把原来的文件贴上来,也许有人会帮你把事情搞定的

我都不知道要贴什么上来,源码吗?
举报

石双厚

2019-1-8 11:42:37
SPI是直接用的STM32F10x的固件库,从103移植到107应该不用修改吧?不懂
举报

池鹄展

2019-1-8 11:53:50
好吧,这个移植没有做过,怎么说都是问题,第一,你没有说清用的是什么芯片,是STM32F103R8?STM32F103VC?  这个芯片不同移植的步骤就不一样,管脚数不同?RAM不同,都影响移植,即使程序移植成功,你确定你的原程序中的SPI是和新的芯片构成的板子上的SPI 是同一个,比如是都是SPI2?SPI1和SPI2的管脚不同,开启的时钟不同,还有原程序要是用了管脚功能复用,你的问题就更多了,好了,你该去看看书,补补基础。
举报

沈雨露

2019-1-8 12:06:57
f103和107的启动文件不一样的,需要更改,不是只改型号就可以
举报

更多回帖

发帖
×
20
完善资料,
赚取积分