[問題] FreeRTOS的software timer
大家好,最近工作其中一個需求,是1個master以4個serial port分別連接4個slave,
然後master每1秒必須以serial port對各個slave送出封包並接收回應封包,用以確認
slave們還活著,時間上能容許的誤差大約是100mS。
閱讀了FreeRTOS官方文件,Software Timer應該很適合這樣的定時任務,不過有兩個
疑問沒有找到答案想與各位請益。
這是官方的api說明頁面:
https://www.freertos.org/FreeRTOS-timers-xTimerCreate.html
在最下方的例子裏
1.xTimerCreate最後一個參數指定了callback function,如果多個timer指向同一個
callback function,它是像xTaskCreate一樣每個timer都有自己的獨立變數空間
嗎?如果是那麼為什麼範例中的ulCount要透過pvTimerGetTimerID來取得?
2.timer的優先權狀態是如何呢?timer會被排班打斷嗎?比方說system tick是10mS,
如果callback function的內容超過10mS會被打斷重新等待排班嗎?如果是它的優
先權如何設定?
3.延續上面的問題,timer會被其他到期的timer插斷嗎?
謝謝各位的指導。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.250.41.202
※ 文章網址: https://www.ptt.cc/bbs/ASM/M.1543644110.A.509.html
→
12/01 21:40,
6年前
, 1F
12/01 21:40, 1F
我想了一下你提供的方法,大致上是用task做這個功能,然後把task優先權調高
,發送完封包後就task delay1秒對嗎?
這好像也可以做到,只是我不太確定哪種方法更適合這樣的需求。
謝謝你^^
※ 編輯: icetofux (111.250.41.202), 12/01/2018 21:52:13
ASM 近期熱門文章
PTT數位生活區 即時熱門文章