日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SylixOS普通定时器精度分析

發布時間:2025/4/16 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SylixOS普通定时器精度分析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 適用范圍
??? SylixOS下實現高精度定時器和普通定時器功能,本文檔介紹普通定時器的精度問題,適用于SylixOS開發工程師,使用者應具備SylixOS基礎知識以及基本編程能力。
2. 實現原理
??? SylixOS下在應用層創建定時器時系統會申請定時器控制塊,在啟動定時器時將定時器控制塊加入到全局掃描鏈表中,由內核線程負責循環掃描隊列,代碼模塊如程序清單 2.1所示。?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 程序清單 2.1? 定時器內核線程?

????…?…?(省略) for?(;;)?{PLW_CLASS_WAKEUP_NODE??pwun;ULONG?????????????????????ulCounter?=?LW_ITIMER_RATE;#if?(LW_CFG_RMS_EN?>?0)?&&?(LW_CFG_MAX_RMSS?>?0)API_RmsPeriod(ulRms,?LW_ITIMER_RATE);????/*??使用?RMS?進行周期運行???????*/ #elseAPI_TimeSleep(LW_ITIMER_RATE);?????????????/*??等待一個掃描周期????????????*/ #endif…?…?(省略) }…?…?(省略)

? ?? 由程序清單 2.1可知,內核線程循環的時間周期通過RMS調度控制,時間周期為:

LW_ITIMER_RATE

? ? SylixOS下為LW_ITIMER_RATE定義為:

#define?LW_ITIMER_RATE????????????????????_K_timingKernel.TIMING_ulITimerRate

? ? _K_timingKernel定義為(以ARM CortexA9 base為例):

_K_timingKernel?=?{100,?10000000,?100,?5,?1,?10,?LW_CFG_SLICE_DEFAULT};

? ? 因此SylixOS下定時器精度依賴于系統Tick,以上述系統Tick為100 Hz為例,定時器線程遍歷周期為5個系統Tick,即定時器精度為50 ms。


轉載于:https://blog.51cto.com/12558126/2153150

總結

以上是生活随笔為你收集整理的SylixOS普通定时器精度分析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。