STM32
直播中

哼小曲

13年用户 1215经验值
私信 关注
[问答]

如何解决HAL库移值的问题?

如何解决HAL库移值的问题?

回帖(1)

李昕羿

2021-12-17 10:36:30
STM32L152写的一个项目,程序代码量比较大。有RF24L01无线通信,RGB全彩LED通信,USB HID通信。编码器处理。项目搞完了,总体感觉编程很累。 所以想移植个系统来跑。这样或许程序写起来比较简。说干就干,随便找了个UCOS-II。就撸起来。哈哈。
由于项目初就已经使用了STM32CubeMX生成HAL库,并且软件也都已经写完了。所以整个的移植也在这个库上 直接进行。当然问题多多。
由于是使用 别人移值过的UCOS库,所以有些别人家移植时要修改的项已经改好了。所以我就不多介绍。本文就只介绍HAL库移值的问题点。
1. HAL_Delay() 程序 不能使用问题。很多帖子都说这个函数不能与OSTimeDlyHMSM(0, 0,0,500) 共用,使用HAL_Delay() 会导致OSTimeDlyHMSM 出问题。移值过程中确实是有这个问题的。程序会一直停留在OSTimeDlyHMSM函数出不来。问题是OSTimeDlyHMSM的心跳时钟没启动。HAL库的心跳 时钟已经给HAL_Delay调用。所以需要把OSTimeDlyHMSM的心跳也启动。
2.PendSV_Handler(void) 。HAL库里的这个函数要屏蔽掉。 会跟UCOS里的冲突。
3.当然还有一些其它小 问题。那些小问题相信你们能 自己解决的。哈哈。就不多说了。主要是上述两个问题。
举报

更多回帖

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