dsp2812 pmsm foc之中斷初始化

EvaRegs.EVAIMRA.bit.T1UFINT = 1; //T1下溢中斷使能
EvaRegs.EVAIFRA.bit.T1UFINT = 1;//T1下溢中斷標誌位置位
EDIS;  //與EALLOW一起,EALLOW是允許寫protected寄存器,EDIS一個是不允許

EALLOW;
PieVectTable.T1UFINT = &MainISR;     //T1下溢中斷處理的函數就是MainISR這也就代表着T1適用於定時器。片段輪轉法。
PieVectTable.RXBINT = &SCIBRX_ISR;   //設置串口B接受中斷的中斷向量
PieVectTable.CAPINT3=&Cap3_ISR;      //設置捕獲器3的的中斷  //根據CAP3FIFO的值來判斷棧裏面是個什麼情況。只要CAP3FIFO 不是0就有中斷
   //	PieVectTable.TINT2 =  &ISRTimer2;
EDIS;

PieCtrlRegs.PIEIER2.bit.INTx6=1;    //t1upint PIE中斷標誌寄存器PIEIFRx在有中斷激活時,相應位置1,中斷被響應後會自動清零,不需要用戶操作。
PieCtrlRegs.PIEIER9.bit.INTx3=1;     //SCIRXB同上
PieCtrlRegs.PIEIER3.bit.INTx7=1;      //CAP3同上
IER |= M_INT2;	                      // //CPU中斷使能寄存器,寫入1到相應位,使能中斷INT2。
IER |= M_INT9;                      //SCI //允許串口中斷
IER |= M_INT3;
    //IER |= M_INT14;   //cputimer2

eva_close();                     //下節分析
GuoliuZhi=15*E_Ding_DianLiu;    //過流保護的閥值是15倍的定子電流的額定電流值
Pwm_EN_0;
Init_SiShu();  //下節分析
Init_ch454();  //下節分析
Init_lcd();    //下節分析

EINT;    //開中斷
ERTM;  //使能調試事件

附言:捕獲器的作用:捕獲器可以測量脈衝或者數字信號的寬度,假設在電機旋轉的時候,當轉軸轉到某個特定的位置時,通過光電碼盤或者其他傳感器輸出一個信號,這樣通過捕獲單元可以得到轉子轉過一圈所需要的時間,從而能夠估計出電機的轉速。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章