1、你挪用OSTimeDly或者OSTimeDlyHMSM,意味着该使命CPU利用权会被充公,然而你开启一个按时器之后,该使命还能够利用CPU。
2、举例子:如下情景,能够利用软件按时器做超时处置,设备A治理设备B、C、E,设备A向设备BCE设备发送某一动静,假设在T时间内,设备BCE没有回应,设备A将重起并初始化BCE;那么能够在一个使命中,依次向BCE发送动静,而且启动软件动按时器TMRa,TMRb,TMRc,按时器时间到时挪用各自的重起并初始化函数;另一方面,假设领受到BCE的动静则停行按时器TMRa,TMRb,TMRc。
3、然而假设用OSTimeDly或者OSTimeDlyHMSM处置上面的场景,可能要多开几个使命治理BCE并增加信号量通知OSTimeDly或者OSTimeDlyHMSM之后,到底是“重起并初始化BCE”仍是什么都不做。
4、软件按时器和延时都是基于“系统的节拍”来计时/按时的,固然软件按时器是在一个高优先级的使命中治理,那个使命也是由“系统节拍中断“中向其发送信号量,因而仍是基于“系统的节拍”。
予人玫瑰之手 经久犹有余香 假设对你有搀扶帮助 请点击好评。
0