1. 在低功耗模式下, 是哪几个模式(LPM0,LPM1,LPM2,LPM3,LPM4) 下,还支持看门狗。LPM3,LPM4支持看门狗吗。
2. 如果在以上的某种模式下把看门狗使能,那么功耗将增加多少?
3. 不管什么模式, 看门狗最长间隔时间能达到多少? 比如其它有的单片机是1.8S。
芯片选型,这几个参数很重要,谢谢各位指点一下
只要你提供给WDT的时钟源没关断,WDT就一直工作。
#define WDT_MDLY_32 (WDTPW+WDTTMSEL+WDTCNTCL) /* 32ms interval (default) */
#define WDT_MDLY_8 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS0) /* 8ms " */
#define WDT_MDLY_0_5 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1) /* 0.5ms " */
#define WDT_MDLY_0_064 (WDTPW+WDTTMSEL+WDTCNTCL+WDTIS1+WDTIS0) /* 0.064ms " */
/* WDT is clocked by fACLK (assumed 32KHz) */
#define WDT_ADLY_1000 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL) /* 1000ms " */
#define WDT_ADLY_250 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms " */
#define WDT_ADLY_16 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms " */
#define WDT_ADLY_1_9 (WDTPW+WDTTMSEL+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms " */
/* Watchdog mode -> reset after expired time */
/* WDT is clocked by fSMCLK (assumed 1MHz) */
#define WDT_MRST_32 (WDTPW+WDTCNTCL) /* 32ms interval (default) */
#define WDT_MRST_8 (WDTPW+WDTCNTCL+WDTIS0) /* 8ms " */
#define WDT_MRST_0_5 (WDTPW+WDTCNTCL+WDTIS1) /* 0.5ms " */
#define WDT_MRST_0_064 (WDTPW+WDTCNTCL+WDTIS1+WDTIS0) /* 0.064ms " */
/* WDT is clocked by fACLK (assumed 32KHz) */
#define WDT_ARST_1000 (WDTPW+WDTCNTCL+WDTSSEL) /* 1000ms " */
#define WDT_ARST_250 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS0) /* 250ms " */
#define WDT_ARST_16 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1) /* 16ms " */
#define WDT_ARST_1_9 (WDTPW+WDTCNTCL+WDTSSEL+WDTIS1+WDTIS0) /* 1.9ms " */
看门狗问题
2. 如果在以上的某种模式下把看门狗使能,那么功耗将增加多少?
3. 不管什么模式,理论上看门狗最长间隔时间能达到多少? 比如其它有的单片机是1.8S。
WDT时钟源用ACLK,将ACLK8分频,应该可以达到8秒
只有在LPM4模式下,看门狗才关掉,其他模式下只要选择了看门狗模式,时钟会一直跑的,这个定时器模块不会引起额外功耗(lpm3模式下,不论是否开启看门狗,系统耗电会低于1uA)。
只要时钟不关,WDT都可以工作。至于功耗的话,看看数据手册上面的,LPM0、LPM1、LPM2、LPM3、LPM4
头文件在IAR里就有啊。自己可以好好看看,注释也很清楚。。
MSP430看门狗设计不合理
MSP430单片机的看门狗不是采用独立的时钟源,实际上如果是因为晶振振荡电路问题导致的死机,看门狗根本无法起作用,而MSP430单片机的振荡电路容易出问题,曾经遇到过晶振停振,但是热复位后又正常工作的情况。
也曾经想采用外部看门狗,但是功耗很难控制
MSP430单片机的看门狗不是采用独立的时钟源,实际上如果是因为晶振振荡电路问题导致的死机,看门狗根本无法起作用