當前位置:編程學習大全網 - 編程軟體 - vxworks中tickGet函數得到的tick是從0開始的嗎?

vxworks中tickGet函數得到的tick是從0開始的嗎?

從滴答開始。

它是壹個數字量,不能單獨代表時間。如果我們想知道tick加壹要多少時間,那就要看系統的時鐘速率了。

在Shell下,sysClkRateGet可以返回這個恒定速率的值。大概60歲。妳什麽意思,1秒產生了60個分筆成交點。操作系統調度就是基於這個tick,這個tick在硬件上是壹個高優先級的時鐘中斷(低於它除了NMI)。如果您的壹致率是60,則壹個刻度代表的時間是1000毫秒/60 = 16.67毫秒..也就是說,tick加1需要16.67毫秒。

那麽如果妳希望妳的tick是1ms,妳只要把時鐘速率設置為1000就可以了,因為1000 ms/1000 = 1。可以使用sysClkRateSet(1000)來實現這個目標。嵌入式系統,什麽都自己做,時鐘速率高,操作系統調度頻率高,軟件響應能力增強,但是硬件中斷的處理不壹定是實時的。

時鐘頻率越大越好。但是太小了,好不了。1ms還是不夠?使用輔助時鐘。也是中斷的。工作原理是壹樣的。不過值得註意的是,不要把很多東西掛在壹個1秒執行1000次的中斷裏。CPU承受不起。所以1 ms以下的精確計時建議用硬件,註意實時操作系統是軟件,反正是軟的。

  • 上一篇:神話人物簡筆畫全集
  • 下一篇:哈姆雷特的英文評論300單詞
  • copyright 2024編程學習大全網