cc2538的mesh1.0.0的协议栈,在不使用看门狗的时候,按键可以连续被触发,但是使用cc2538看门狗的时候,按键只能触发一下,我查看了一下按键处的代码,代码中使用了watchdog定时器来做的按键防抖。
请问,1、使能了WDT_IN_PM1,是否对按键有影响?
2、请问我需要同时使用按键和看门狗,需要如何做?
谢谢!
gaoyang9992006:
这个协议栈没用过,不过根据你说的,我觉得如果看门狗开启的话,如果喂狗周期比较短,而你按键持续时间长,就会影响到喂狗,这样就会复位,可以在设计按键的时候不会让系统一直等待,而处理按键的程序处于标志保持状态。能正常循环主函数让系统喂狗。
dongdong0071:
回复 gaoyang9992006:
感觉不像是复位,因为程序复位的话,第一,按键应该就可以在使用一次才对;第二,我的设备没有脱离网络,
VV:
回复 gaoyang9992006:
建议你把协议栈里面针对按键使用看门狗的相关代码去掉,使用中断方式,并且使用传统的消抖。
dongdong0071:
回复 VV:
VV,
传统的消抖如何做,请问有没有示例可以参考.
谢谢
dongdong0071:
回复 Susan Yang:
Susan Yang ,
我用的是zigbee的协议栈,使用delay();延时处理的话,会不会影响协议栈的正常运行
Susan Yang:
回复 dongdong0071:
应该不会的
dongdong0071:
回复 Susan Yang:
按照您的方式,可以成功,谢谢!
Susan Yang:
回复 dongdong0071:
很高兴能帮到您!