作者icetofux ()
看板ASM
标题[问题] FreeRTOS的software timer
时间Sat Dec 1 14:01:46 2018
大家好,最近工作其中一个需求,是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://webptt.com/cn.aspx?n=bbs/ASM/M.1543644110.A.509.html
1F:→ god145145: 直接vTaskDelay不行吗? 12/01 21:40
我想了一下你提供的方法,大致上是用task做这个功能,然後把task优先权调高
,发送完封包後就task delay1秒对吗?
这好像也可以做到,只是我不太确定哪种方法更适合这样的需求。
谢谢你^^
※ 编辑: icetofux (111.250.41.202), 12/01/2018 21:52:13