大家好、Msp430F413在32kHz 频率下工作、使用看门狗计时器工作时间、找到程序调试、每次频率不同时、有两种情况、10倍是2倍、频率约为2/1。 不知道原因是什么? 设置32kHz 是错误的、还是其他原因? 计划的一部分请参见以下内容、谢谢!
PS: 在 MSP430x41x 的 fet410_WDT_02样本下修改程序。
该程序在 MSP430x41x 的 fet410_WDT_02样本下进行修改。
void main (void) { WDTCTL = WDTPW + WDTHOLD;// FLL_CTL0 |= XCAP18PF;//为32k xtal DelayMS (1000)设置负载电容;//100ms P2OUT = 0xff;// LED1-led8 P2DIR = 0xff;// P6OUT = 0xd9;// P5out = 0xd/、0xd23;//、P5out = 0xd/、P= 0xd/、P= 0xd/、P= 0xd/、P= 0xd/、P= 0xd/ 其他 IO 端口初始 化 Play (90); WDTCTL = WDT_ADLY_250;// WDT 250ms、ACLK、间隔定时器 IE1 |= WDTIE;//启用 WDT 中断 __bis_SR_register (LPM3_bits + GIE); //输入带中断的 LPM3 } //看门狗计时器中断服务例程 #if defined (__TI_Compiler_version__)|| defined (__IAR_systems_ICC__) #pragma vector=WDT_vector __interrupt void watchdog_timer (void) #elif defined (__GDT__) void __attribute_(nut}(n_timer)(nutor_vector )(n_interrupt!)#interrupt! #endif { unsigned int j; FLL_CTL0 |= XCAP18PF;//为32k xtal DelayUS (50)设置负载电容; JS++; if (JS=120)// { P1OUT&=~0x20;// } if (JS=121) { P1WDT|=0x20;// JS=WDT=0 ;// WDT=01250/~= 0/ JS = 0x20/ JS;// WDT=01250/ JS = 0/ JS = 0/ JS;// WDT_0 ,= 01250/ JS = 0+