哪位高手用过FreeRTOS?对它的任务切换时间有了解吗?我做了一个时间测试,发现FreeRTOS的任务切换超长。

哪位高手用过FreeRTOS?对它的任务切换时间有了解吗?我做了一个时间测试,发现FreeRTOS的任务切换超长。,第1张

第一,你的低优先级任务也会调用vTaskDelay函数的吧?如果是,那么根本与切换没关系,因为它一般情况下还没睡眠完毕!

2、你的高优先级任务每次拉高IO时就睡眠500ms,那么问题来了,一般情况下你外部中断产生时它还在睡眠,你必须要等它睡眠完了它才拉高,所以还是跟1类似,根本不是切换时间长,而是你的任务还没睡醒!

stm32can发送加延时导致中断的滞后,没有及时得到响应。解决方法是是增加freeRTOS的任务延时就欧克,由3ms改成5ms就可以了,STM32延时函数的四种方法目录普通延时,定时器中断,查询定时器,汇编指令单片机编程过程中经常用到延时函数。

你指的计时和定时应该是要用在从一个标志开始计时到另一个标志停止计时,或者从现在开始定时一个精确时间t,以执行某个动作?

如果是这样,只能用硬件定时器来实现, *** 作系统里用在延时的计时都是根据自己的节拍为参考的,你可以用tick count来获取两次时刻的节拍数差来获取时间,但是这样的话到达某一时间并不能促使你的动作发生,需要你自己不停去检测。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/8016494.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-12
下一篇 2023-04-12

发表评论

登录后才能评论

评论列表(0条)

保存