大家好!
我正在使用 msp430f2618板从水流量传感器获取脉冲、每当中断发生时、程序都会递增计数器。
我的程序运行正常、但我想在每5秒后将计数器值重置为"0"。
unsigned int count = 0;
void main (void){
WDTCTL = WDTPW + WDTHOLD;//停止看门狗计时器
P2IE |= 0x10;// P2.4中断被启用
P2IES |= 0x10;// P2.4高/低边沿
P2IFG &=~0x10;// P2.4 IFG 被清零
while (1){
_BIS_SR (LPM0_Bits + GIE);//输入 LPM0带中断
等待(5);
printf ("舍入");
_BIC_SR (LPM0_Bits + GIE);
计数= 0;
}
}
//端口2中断服务例程
#pragma vector=port2_vector
_interrupt void Port_2 (void){
COUNT++;//每次发生中断时递增计数器
P2IFG &=~0x10;// P2.4 IFG 被清零
}
静态空等待(uint8秒){
uint8 n;
TACCTL0 &=~(1<0);
for (n=0;n < sec;n++){
CCR0 = 32768;
TACTL = tassel_1 + MC_1;// SMCLK、upmode
while (!(TACCTL0 &(1<0)));
TACCTL0 &=~(1<0);
}
}