4.12.c

来自「MSP430单片机的经典C语言例子」· C语言 代码 · 共 50 行

C
50
字号
#include <msp430x14x.h>

unsigned char start_flag=0;
unsigned int  value;

void main(void)
{
        unsigned int i;
        WDTCTL    =  WDTPW+WDTHOLD;
        BCSCTL1  &=~ XT2OFF;
        BCSCTL2   |=SELM1;
        
        do
        {
             IFG1    &=~  OFIFG;
             for   (i=0xff;i>0;i--);
        
        }
        while((IFG1&OFIFG)!=0);
        
        CACTL1    =  CAIE+CAON;
        CACTL2    =  P2CA0+P2CA1;
        P1DIR    |=  BIT0;
        P2DIR    |=  BIT0;
        P2OUT    &=~ BIT0;
        for(i=0;i<100;i++);
        P2OUT    |=   BIT0;
        _EINT();
        while(start_flag==0);
        _DINT();
        start_flag  =  0;
        value       =  0;
        for(i=0;i<3000;i++)
            {
               if((CACTL2&CAOUT)==1) P2OUT  &=~BIT0;
               else
                  {
                    P2OUT   |= BIT0;
                    value++;
                  }
            }
         while(1);
}

 
#pragma vector=COMPARATORA_VECTOR
__interrupt   void comparatorA(void)
{
     start_flag=1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?