板子上的程序独立工作一天,协议栈的osal时间会慢20几分钟,求助!
时间:10-02
整理:3721RD
点击:
app开始时设置下时间,然后断开连接, 板子自己工作, 跑一天下来, 板子上的时间会慢20几分钟,这个是什么原因?有办法解决吗? 请指导下!
用的协议栈版本1.3.2
Hi eric
你说的慢20分钟是什么情况呢?用osal定时器做类似于时钟之类的功能吗?
(SDK中有说明osal提供的定时器是非精准的定时。)
做个定时功能,就是app开始设置osal的时间和app相同, 然后断开,板子独自跑一天,最后发现osal的时间慢了
这个很正常的!
首先osal提供的timer是并非精准的定时;
使用osal的timer只是定时后挂起一个事件,还要等到任务调度的时候采取执行,这个不同于硬件的中断。
我不是说定个几秒那个timer. 我是指, 在osal层不是有个变量记录当前时间的秒数吗,开始和app时间(unix timestamp, 4字节)设置一样, 比如8点钟, 到了晚上,app是8点,可以板子上的时间是7点多,要慢很多分钟
你接了外部32KHz的晶振了吗?
接了的,省电模式不知会不会影响时间,我测试是在非省电模式。
蓝牙规范定义了一个time profile(Current Time Service)用来获取当前时间,是不是意味着设备本来就无法做到准确的时间?
用了的,我也是在非省电模式下测试。不知省电模式不知会不会有影响
蓝牙规范profile里有个current time service,是不是cc2540设备本来就做不到准确的日期时间?