N76E003---输入捕获

输入捕获

根据芯片手册,定时器2可以作为输入捕获使用,设置非常简单,官方也提供了宏给我们使用

void Time2_cap_init(void)
{
    /******* 输入捕获CF设置 **********/
    Set_All_GPIO_Quasi_Mode;
    P04_Input_Mode;
    //P04 = 1;
    
    TIMER2_CAP0_Capture_Mode; //定时器2启用输入捕获功能
    
    IC3_P04_CAP0_RisingEdge_Capture;  //P04管脚,捕获方式:上升沿捕获
    
    
    set_ECAP;//开启输入捕获的中断
    
    set_TR2;
    
    set_EA;
}

处理函数

我的处理函数非常简单,就是捕获到一个上升沿后,改为下降沿触发,即捕获到一个脉冲。

 1 void Capture_ISR (void) interrupt 12 
 2 {
 3     static char state;
 4 
 5     if(state == 1)
 6     {
 7       IC3_P04_CAP0_RisingEdge_Capture;    //开启上升沿捕获
 8        pulse_cnt++; //捕获次数加1
 9                         
10      state = 0;
11      }
12      else //第一次捕获上升沿 
13      {
14         IC3_P04_CAP0_FallingEdge_Capture;    //开启下降沿捕获                                
15         state = 1;
16 
17      }
18         clr_CAPF0;
19                     
20 
21 }

 

posted @ 2019-04-17 09:46  R1chie  阅读(1275)  评论(0编辑  收藏  举报