[問題] FreeRTOS的software timer

看板ASM (組合語言)作者時間6年前 (2018/12/01 14:01), 6年前編輯推噓0(001)
留言1則, 1人參與, 6年前最新討論串1/1
大家好,最近工作其中一個需求,是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
直接vTaskDelay不行嗎?
12/01 21:40, 1F
我想了一下你提供的方法,大致上是用task做這個功能,然後把task優先權調高 ,發送完封包後就task delay1秒對嗎? 這好像也可以做到,只是我不太確定哪種方法更適合這樣的需求。 謝謝你^^ ※ 編輯: icetofux (111.250.41.202), 12/01/2018 21:52:13
文章代碼(AID): #1S0YFEK9 (ASM)
文章代碼(AID): #1S0YFEK9 (ASM)