cc2541做从机,大部分时间处在PM3模式下,使用外部中断唤醒,发现有时候通过中断唤醒时程序会跑飞,所以就开启了看门狗,有一个任务任务定时喂狗。
流程是:外部中断唤醒时,触发定时喂狗任务,当cc2541与主机断开连接时就取消定时喂狗任务(为了能进入PM3),如此循环。
现在的问题是:
设定cc2541广播时间为60s,60s没有连接自动进入PM3,发现喂狗任务一直能执行,也能进入PM3,不会复位
外部中断唤醒时,虽然立刻触发刻定时喂狗任务,但通过仿真发现定时喂狗任务一直没有被执行(看门复位时间设置为1s),程序会复位。
不知问题出在哪里?很急!!!
liuqi:
回复 Barbara Wu:
hi, WBJ
首先先谢谢你的建议!
我发现了问题之所在:
因为我在唤醒之后开启了定向广播,定向广播为GAP_ADTYPE_ADV_HDC_DIRECT_IND,即高速模式,把定向广播改为低速模式之后,喂狗任务就能执行,程序也不会复位了,所以可能是定向广播高速模式下速度太快了,导致osal不能执行喂狗任务导致的。