本帖最后由 discussant 于 2023-7-23 15:34 编辑
例如豆浆机,假如有三个任务:1、按键任务(开关机、功能选择)。
2、加热,搅拌任务。
3、显示任务。
现在很多豆浆机的程序是这样的:只要启动一个菜单(例如豆浆),就一直阻塞工作:加热到沸腾,然后间隙加热几分钟,然后延时几分钟、然后间隙搅拌几分钟,然后又间隙加热几分钟。其中就有延时的阻塞的延时函数。这当中不考虑按键信号,不考虑显示变化。因为要考虑按键信号,改变显示内容,就要频繁从加热、加热搅拌程序中返回出来,运行按键和显示程序后再进加热、搅拌程序,不能阻塞。
那如果用操作系统,三个任务并发,在加热、搅拌程序中如何知道有按键信号?如何改变显示内容?例如,开关机信号如何通知加热搅拌程序,从加热搅拌程序中返回并关机?有人经常说操作系统中DELAY函数可以阻塞。那在阻塞的DELAY函数中如何关机?
|
直接在定时器里面 51单片机都可以做