最近在用FreeRTOS搞多任务uart发送
我发现有个问题 比如
task A
{
for(i=0;i<3;i++)os_uart_send(i);
}
os_uart_send是把参数作为消息邮箱要发送的值发送给 task B
然后task B就是调用uart把消息邮箱的值进行发送
结果只发送了2 即只task B只执行了一次
为什么不是发送0 1 2
按道理来说应该是task A发送了3次消息邮箱激活task B 3次
那么每次激活应该立马打断task A 执行task B的内容
内核是配置了抢占的 B的优先级也比A的高 结果还是要task A执行完 才执行一次task B