在做通用定时器中断实验时发现代码编译无错误但是下入板子后无法达到预期功能从而进行排错,在与开源代码对比后发现自己写入的底层驱动函数(回调函数)为XXX_XX_MSPInit,将底层驱动函数修改为XXX_XX_MspInit过后发现解决了问题。后很好奇此底层驱动函数在代码中起到什么作用,从而导致下载至板上的代码无法正常应用,从而去网上查找资料与往期MspInit函数的作用后发现,MspInit掌管着STM32的众多驱动如GPIO,时钟,中断等内部硬件的触发与使能,因此MspInit掌握着最底层的使能信号在代码中起到最重要的作用之一。因为本人为51单片机上升至STM32在51单片机对库函数的调用掌握的不牢固,经常自己起函数名称因此在上升至STM32后出现此类问题,希望学习51单片机上升至32的小伙伴们多注意一下这个问题,由于32多为HAL库开发对于函数的名称有着比较严格的要求,如果不小心不区分大小写或者打错了可能导致整个系统无法有效的运行。
STM32编译通过但达成不了预定功能可能性(底层驱动函数)
最新推荐文章于 2024-11-06 18:03:09 发布