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