参考:(CubeMX)STM32使用FREERTOS,在中断函数中使用HAL_Delay()函数导致程序卡死问题解决记录_stm 32 freertos不进定时器中断-CSDN博客
在做单片机模拟鼠标的时候,遇到这样的一个问题,在线程中使用了hal_delay()延时函数,导致一直无法正确运行,但是代码都没什么错误,代码在不用threadx操作系统的项目中可以运行。调试后发现程序卡死在hal_delay()函数中,更改成tx_thread_sleep()就可以了。其实这个问题是因为,cubemx配置的时候,选择的是systick而不是tim1,更换为tim1就好了,如果还有问题,需要调高tim1的中断优先级。