视频教程汇总帖:【学以致用,授人以渔】2023视频教程汇总,DSP第12期,ThreadX第9期,BSP驱动第26期,USB实战第5期,GUI实战第3期(2023-10-11) - STM32F429 - 硬汉嵌入式论坛 - Powered by Discuz!
说明:
1、一般应用,我们都会将任务RTOS系统时钟节拍(心跳)设置为1ms,但如果直接把RTOS的系统时钟节拍设置为1us,系统负担非常大,而且很多RTOS也做不到100MHz主频下,1us切换一次任务,导致RTOS没有时间处理应用任务
2、这个机制主要是用来替换大家的程序里面不支持任务切换的DelayUS微秒延迟的API,让其也支持释放CPU权限来支持任务调度, 延迟时间到后,还可以根据自己的优先级情况返回执行。当前将RTOS本身的延迟API,比如tx_thread_sleep替换为新作的API实现也是没问题的
3、RTOS的通信组件,信号量,消息队列,事件标志等不需要微秒分辨率的延迟,因为紧急的中断调用这些通信API,会让就绪的最高优先级的等待通信任务立即得到执行。
4、这种方式还有有个优势,可以更好的降低CPU利用率。
视频教程:
https://www.bilibili.com/video/BV1Yh4y1z7k3/
第9期ThreadX视频教程:自制个微秒分辨率任务调度实现方案
实现方法:
需要的,做替换,不需要的不用替换。
任务信息统计:
配套例子
程序中将任务的延迟和DS18B20的微秒延迟都改成新作的API osDeleyUS实现
链接:百度网盘 请输入提取码 提取码:7q3i