STM32程序移植时发现的一个奇怪的报警及其解决方法

        一直在想抽空把步进电机的驱动程序做成一个标准库文件,今天终于得空,在移植完成后,编译时发现程序报错一共24项,头大了。

        这个代码是我在硬石控制板的源代码里CV过来的,而且在他们的程序中编译通过了。多方查找无果,后来看到报错内容基本都是关于TIM定时器的,就去查看了stm32f4xx_hal_tim.c”文件,在第197行发现这么一段代码

#ifdef HAL_TIM_MODULE_ENABLED

从字面上来看,应该是控制TIM模块使能的,既然找到了问题,那就开干,把HAL_TIM_MODULE_ENABLED这个宏定义一下,具体方法

方法一:在KEIL魔术棒中,增加宏定义

点击OK,这时我们再去看一下stm32f4xx_hal_tim.c”文件,以前灰色的程序声明已经变成了白色(最下方红色大框内容),说明修改起作用了

重新编译,结果显示“"0 Error(s), 0 Warning(s).”,说明程序修改成功

方法二:在“stm32f4xx_hal_conf.h”配置文件中,默认HAL_TIM_MODULE_ENABLED宏定义被注释掉了,打开即可,我们看到,除了定时器TIM外,还有好多其它外设的使能都是在这里被注释掉了。

        至此,步进电机的驱动文件移植成功,烧录到板子上,电机可以正常控制运行,完结。

        学习过程中的所有坑,都是我们在成长过程中的磨刀石,通过这次程序移植的过程,我对STM32 HAL库的架构又有了更深入的了解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值