TI中文支持网
TI专业的中文技术问题搜集分享网站

定时器准点率的问题

依然是wiki上的这个例程http://processors.wiki.ti.com/index.php/CC2540_Data_Throughput,我把BURST_EVT的间隔改为16ms,每次发送两个20Bytes的包。发送之前在每个包上用osal_GetSysClk()盖上时间戳。分析接收到的数据有70%的发送间隔是16ms,30%发送间隔大于16ms。

这是不是说明osal_start_timer()的准时性很差啊。如果我准备用adc做1kHz的采样,是不是不应该用这个函数定时,那应该用什么来做定时呢?

Yan:

jeffrey,

如果你需要精确定时的话,建议用硬件的timer去做。

你可以参考一下CC2541的datasheet, 里面有timer配置。可用的timer 有timer1, timer3和timer4.

Jeffrey Lee:

回复 Yan:

如果我用1ms的timer引发中断的时候,osal正在进行任务轮询把中断关了,那这个中断就会被错过吗?

user2000895:

回复 Jeffrey Lee:

中断标志还在的嘛  就不会错过  OS 开了中断后 还会执行 ,但是在OS开中断之前  如果有两次  中断的话 就会丢掉一次

user2000895:

这个事软件定时器  实时性 肯定不是那么好的 ,你可以用定时器1 或者3 来个硬定时啊 

赞(0)
未经允许不得转载:TI中文支持网 » 定时器准点率的问题
分享到: 更多 (0)