五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

《二》canfestival系列教程之軟件定時(shí)器分析(2)

2021-09-10 13:11 作者:GXTon_阿通  | 我要投稿


以stm32單片機(jī)為例,精講一下代碼:

上文說到,軟件定時(shí)器對(duì)canfestival很重要.canfestival中大部分時(shí)間都是靠軟件定時(shí)器觸發(fā)的.

這里的所有軟件定時(shí)器,都是依靠一個(gè)硬件定時(shí)器模擬出來的.

就以stm32單片機(jī)的timer14定時(shí)器為例,

首先要配置timer14定時(shí)器,配置成向上計(jì)數(shù),每1us計(jì)數(shù)一次,并且開啟中斷.

對(duì)于硬件定時(shí)器的配置,最主要的是弄明白計(jì)數(shù)1次,消耗多少時(shí)間.也就是分配參數(shù).

上面的例子是每1us,計(jì)數(shù)一次,它就是canfestival的最小時(shí)間單位了.

定時(shí)器的中斷優(yōu)先級(jí)nvic配置

中斷發(fā)生后的處理函數(shù):

在里面會(huì)調(diào)用TimeDispatch( )這里是canfestival的接口函數(shù)

TimeDispatch(?)放入到中斷函數(shù)里面后,它就會(huì)不斷改變timer14定時(shí)器的周期,來模擬出多個(gè)軟件定時(shí).也就是每個(gè)軟件定時(shí)器溢出,都會(huì)觸發(fā)timer14定時(shí)器的中斷.

(可以把圖片保存下來看,或者全屏看:-)

TimeDispatch(?)函數(shù)中,調(diào)用的兩個(gè)函數(shù)是需要我們根據(jù)開發(fā)環(huán)境編寫的.

這里用的是stm32的開發(fā)環(huán)境.setTimer( )getElapsedTime()

canfestival中有兩個(gè)時(shí)間單位一個(gè)是us,另一個(gè)是ms.

在timerscfg.h中需要配置三個(gè)參數(shù):

TIMEVAL_MAX? 是硬件定時(shí)器最大的周期,因?yàn)槲覀僼imer14設(shè)置的是5000,所以這個(gè)參數(shù)不要超過5000.

MS_TO_TIMEVAL?是ms的計(jì)數(shù).timer14中配置的是每1us計(jì)數(shù)一次.所以這個(gè)ms要配置成1000.系數(shù)要配置成1000.

US_TO_TIMEVAL?是us,硬件定時(shí)器timer14本身就是1us計(jì)數(shù)一次,所以這里系數(shù)是1.

TimeDispatch(?)會(huì)遍歷timers中的所有軟件定時(shí)器,這里面timers實(shí)質(zhì)上是一個(gè)數(shù)組,這個(gè)數(shù)組的上限個(gè)數(shù)為MAX_NB_TIMER.


《二》canfestival系列教程之軟件定時(shí)器分析(2)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
西峡县| 桃园县| 黄石市| 敖汉旗| 屏东县| 蓝田县| 商丘市| 平利县| 孝昌县| 双城市| 长武县| 五华县| 宿松县| 上高县| 新余市| 黄梅县| 那曲县| 鱼台县| 洪湖市| 运城市| 娱乐| 关岭| 瑞昌市| 新巴尔虎右旗| 沂南县| 遂溪县| 南和县| 青河县| 临沭县| 偃师市| 阳高县| 宜川县| 镇雄县| 原平市| 班戈县| 咸宁市| 文水县| 普格县| 千阳县| 海丰县| 白水县|