|
咨询大佬们一个问题,最近在看Freertos,部分进程之间通信函数,都有有FromISR(中断安全)版本,函数内增加了HigherPriorityTaskWoken这项参数。
我看例子代码合说明是这样处理的: 这项参数传入pdFALSE, 如 “- BaseType_t HigherPriorityTaskWoken = pdFALSE; xStreamBufferSendFromISR(my_stream, (void *) uart8_Rxdata, 16, &HigherPriorityTaskWoken);”
复制代码 剩下的工作会系统自动处理,在退出中断后立刻唤醒一些任务,进行上下文切换,(如果有的话)。
看到V9.0以后的版本,是否是只要设置为pdFALSE即可,剩下不用管。这个机制是用于中断内唤醒高优先级任务使用的。
疑问1:但是高优先级任务是不需要唤醒的,任务内OSdelay时间到了就会抢断CPU自动切换进来。为啥还要加入额外:HigherPriority(高优先级)Task(任务)Woken(唤醒)。
疑问2:我上文表述的 FromISR(中断安全)版本 理解是否正确。 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……
|