“请构想一个适合单片机实现的具体的应用,描述其中可以成为“任务”的软件组成部分,并分析如果在此应用的软件中引入实时操作系统能够带来什么样的好处。”
最近想把自己以前写的电源监控系统转到FreeRTOS,一直出差,和新项目的研讨中。。。。
我觉得最简单,最容易理解的是属于按键做成任务,
早期我写的按键,在按键消抖,键值的长短按键的时候,通常习惯性的直接delay(),或者通过while(1) 自己的循环周期,来大致设定按键确定下来所需要的时间,但是电源监控系统的很大部分需要根据客户的需求,更换不同的显示屏(型号,内容),也需要经常的去动一些协议,或者进行新设备的接入处理,这个时候,用户在按键处理的时候,有时候会导致屏幕响应变慢,或者导致一些重要通讯数据处理不及时,导致用户体验差,还经常需要调整delay时间长短。
如果将程序做成任务的方式,完全可以精确控制按键的抖动时间,而不会担心因为需求的变更,调整按键程序,或者导致丢包,或者程序响应过慢的情况。