cubemx配置rtt系统和usb,出现死机问题,调试发现,cubemx使用的usb驱动中有很多调用HAL_Delay()函数的地方,而cubemx配置的工程中默认是使用systick作为延时定时器,当引入操作系统后,systick被也被操作系统作为系统时钟占用。解决办法:配置cubemx时使用其他定时器作为延时定时器。或者完全使用系统的延时函数代替HAL_Delay()函数。
此外应当注意,HAL_Delay()函数是死等的,完成外设初始化后,在主线程的循环中不要在使用该函数。
cubemx配置rtt系统和usb,出现死机问题,调试发现,cubemx使用的usb驱动中有很多调用HAL_Delay()函数的地方,而cubemx配置的工程中默认是使用systick作为延时定时器,当引入操作系统后,systick被也被操作系统作为系统时钟占用。解决办法:配置cubemx时使用其他定时器作为延时定时器。或者完全使用系统的延时函数代替HAL_Delay()函数。
此外应当注意,HAL_Delay()函数是死等的,完成外设初始化后,在主线程的循环中不要在使用该函数。