xuexueaibeibei 发表于 2017-4-5 20:45:40

CC2530睡眠定时器如何理解计数值和比较值

本帖最后由 xuexueaibeibei 于 2017-4-5 20:47 编辑

CC2530的定时器里一直看不懂他是如何工作的,先初始化了睡眠定时器,然后又设置了一段时间,但是这段时间是从哪里加到哪里?求解释,下图附上了源码和文档


ackyee 发表于 2017-4-5 23:12:38

zigbee是个坑,如果楼主入坑不久,还是早日出坑吧
不过zigbee的z-stack里的os确实值得学习

wqsjob 发表于 2017-4-5 20:45:41

如果是ZSTACK,那应该是算好间隔周期,然后读出定时器的值,然后再加上算好的周期.楼主为什么不用调试器单步运行看看呢?

xuexueaibeibei 发表于 2017-4-6 09:00:17

ackyee 发表于 2017-4-5 23:12
zigbee是个坑,如果楼主入坑不久,还是早日出坑吧
不过zigbee的z-stack里的os确实值得学习 ...

别人的项目,我只负责其中这个部分。。。不过多谢提醒了

xuexueaibeibei 发表于 2017-4-6 09:26:07

本帖最后由 xuexueaibeibei 于 2017-4-6 09:36 编辑

wqsjob 发表于 2017-4-6 00:07
如果是ZSTACK,那应该是算好间隔周期,然后读出定时器的值,然后再加上算好的周期.楼主为什么不用调试器单步运 ...

多谢回复,大致意思确实如此,先说根据你回复后做的测试:每次读出的数据除了ST0是固定的外,其他都是变化的,说明应该是在睡眠定时器初始化后,他是一直在运行的。                                 而且可能是因为自己记录数据到下一次点单步的时间间隔太久了(感觉点的已经很快了),所以sleeptimer返回的数值很大,远远超出了    “然后再加上算好的周期.”   好费解



姑且按你这样的理解吧,也许这里不该深究的:读定时器的计数值,然后加上周期送到比较器里,如果定时器的计数值和比较器的值相等的时候,就触发一次中断,至于到底怎么一个具体的运行,有时间再研究吧

wqsjob 发表于 2017-4-6 13:29:57

xuexueaibeibei 发表于 2017-4-6 09:26
多谢回复,大致意思确实如此,先说根据你回复后做的测试:每次读出的数据除了ST0是固定的外,其他都是变 ...

zstack比较复杂,有空可以好好研究. 你是在哪里呢?我们最近也做相关的一些工作,但是我没那么多时间去弄,如果有个人帮忙或者相互学习也不错{:smile:}

xuexueaibeibei 发表于 2017-4-6 15:50:54

wqsjob 发表于 2017-4-6 13:29
zstack比较复杂,有空可以好好研究. 你是在哪里呢?我们最近也做相关的一些工作,但是我没那么多时间去弄, ...

当然好了,一些联系方式已经私信你了
页: [1]
查看完整版本: CC2530睡眠定时器如何理解计数值和比较值