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 }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM