原帖 | Jack | 2024-10-02 11:17 | 👍0 | 阅读约1
按键功能所在任务在实际工程该怎么编写?
按键输入的响应速度影响着用户体验,在实际的RTOS工程中,按键功能所在的任务是不是应该分配相当高的优先级,且任务内容应该很简单,保证按键功能能够快速响应?
在RTOS中,我们一般会将这几类任务优先级依次放到比较高的优先级里:
1.靠近中断的线程:这些线程需要迅速响应中断(初始化中断,改变中断的处理内容(如重定向buffer等)),并将相关的后续任务移交给其他任务(如其他消费者线程)。
2.实时性要求比较高的:比如,UI控制,特定数据采集,和外部应答协议等。
3.任务间同步和协调:有些任务负责协调其他任务,或者控制着设备的整体状态,有时需要尽快切换状态,因此优先级也比较高。
4.故障处理和安全监控的任务:有些错误需要及时处理(清除标志等),如果没有及时响应这些错误,则可能会升级为Hardfault等错误。
除了这些经验外,我们在最终还可以通过Systemview来观察任务之间的调用关系,去尽可能减少一些随机调度,来彻底耦合任务间的调度链
。
相关笔记