1.程序在OSStat() 跑飞。
定位问题卡死在OSStartHang 。由于UCOS和STM32 PV中断处理函数名称不同导致异常。修改os_cpu_a.asm中的pv中断名称。
原博参考地址:https://blog.csdn.net/qq_23898287/article/details/79363010
2.程序在运行浮点运算时卡死。
定位问题出现在STM32F407的硬件浮点运算,关闭硬件浮点运算FPU或任务中无浮点运算时任务执行与调度正常。朝朝资料发现UCOSIII不支持FPU。
原帖地址参考:https://www.amobbs.com/forum.php?mod=viewthread&tid=5546079
3.任务间传递消息时,用消息队列传递指向结构体的指针最方便 贼方便!
OS_Q Key_Msg;
typedef struct massage
{
u8 id;
u8 state