uCOOS-II原理与ARM应用程序设计 (6).pptVIP

  • 4
  • 0
  • 约8.41千字
  • 约 108页
  • 2022-03-20 发布于陕西
  • 举报
  接着,跳至第50行获得当前时钟节拍值,此时,该节拍值约为200,故执行第51~82行的代码。第54行将返回OS_TMR_STATE_STOPPED值,所以,第73~80行的代码被执行,即启动定时器LedTmr(第73行)。然后,获得LedTmr定时器的名称(第76行),进而输出该定时器成功启动的信息,参看图6-5。   再延时2秒(第144行)后返回任务2,此时由于定时器FeedDogTmr已启动,第21行执行后的返回值不是OS_TMR_ STATE_UNUSED和OS_TMR_STATE_STOPPED,而是OS_TMR_STATE_RUNNING,所以第24~48行的代码得不到执行。之后的所有时间内这些代码都不再得到执行权了。同样道理,在小于30秒内,第57~80行的代码也得不到执行了。   当程序运行时间小于50秒而大于30秒时,第84~91行的代码得到执行,这里调用OSTmrRemainGet函数获得定时器LedTmr剩余的计数值,并输出到串口调试助手。   当程序运行时间大于50秒而小于70秒时,第93~111行的代码得到执行,这里将判断LedTmr是否启动,如果启动,则停止第95~102行;然后,第103行判断LedTmr是否停止,如果停止,则删除它。第93~111行的这段程序就是先停止定时器LedTmr,然后再删除它,这段代码在这段时间内只会被执行一次,因为第95

文档评论(0)

1亿VIP精品文档

相关文档