CC2541的Timer1测量一个外部电路电平下降时间测出来波动十分大
时间:10-02
整理:3721RD
点击:
用CC2541的Timer1来通过IO口测量一个外部电路电平从3.3V降到0V的时间,并且运行了蓝牙协议栈。
选了定时器时钟为32分频,所以1个clk为1us,因为Timer1最大计到0xFFFF,所以最大量程为65535us,即65ms。
当这个外部电路放电时间在大约1ms量级及以下时,测量都是十分准确,并且稳定的。并且测量值不随我程序中在哪里启动测量而变化。
但是,当外部电路时间放电时间在大约10ms量级及以上时(<65ms),测出来波动十分大,例如从0x1100波动到0x2E00,波动十分厉害。并且,如果我在程序中不同的地方启动测量,测量出的结果差异会非常大。
我的设备是用电池工作的,会进入休眠状态。这个和休眠有关系吗?是什么问题,应该如何解决呢?
我觉得这个是和协议栈有关,因为我不带协议栈裸跑测量是稳定的。