DSP281x_PieCtrl.c
上传用户:qingfan3
上传日期:2014-10-27
资源大小:31439k
文件大小:3k
- //###########################################################################
- //
- // FILE: DSP281x_PieCtrl.c
- //
- // TITLE: DSP281x Device PIE Control Register Initialization Functions.
- //
- //###########################################################################
- //
- // Ver | dd mmm yyyy | Who | Description of changes
- // =====|=============|======|===============================================
- // 1.00| 11 Sep 2003 | L.H. | Changes since previous version (v.58 Alpha)
- // | | | Added ENPIE = 0 to the IntPieCtrl function
- // | | | Removed ENPIE = 1 from the IntPieCtrl function
- // | | | Created EnableInterrupts function
- //###########################################################################
- #include "DSP281x_Device.h" // DSP281x Headerfile Include File
- #include "DSP281x_Examples.h" // DSP281x Examples Include File
- //---------------------------------------------------------------------------
- // InitPieCtrl:
- //---------------------------------------------------------------------------
- // This function initializes the PIE control registers to a known state.
- //
- void InitPieCtrl(void)
- {
- // Disable Interrupts at the CPU level:
- DINT;
- // Disable the PIE
- PieCtrlRegs.PIECRTL.bit.ENPIE = 0;
- // Clear all PIEIER registers:
- PieCtrlRegs.PIEIER1.all = 0;
- PieCtrlRegs.PIEIER2.all = 0;
- PieCtrlRegs.PIEIER3.all = 0;
- PieCtrlRegs.PIEIER4.all = 0;
- PieCtrlRegs.PIEIER5.all = 0;
- PieCtrlRegs.PIEIER6.all = 0;
- PieCtrlRegs.PIEIER7.all = 0;
- PieCtrlRegs.PIEIER8.all = 0;
- PieCtrlRegs.PIEIER9.all = 0;
- PieCtrlRegs.PIEIER10.all = 0;
- PieCtrlRegs.PIEIER11.all = 0;
- PieCtrlRegs.PIEIER12.all = 0;
- // Clear all PIEIFR registers:
- PieCtrlRegs.PIEIFR1.all = 0;
- PieCtrlRegs.PIEIFR2.all = 0;
- PieCtrlRegs.PIEIFR3.all = 0;
- PieCtrlRegs.PIEIFR4.all = 0;
- PieCtrlRegs.PIEIFR5.all = 0;
- PieCtrlRegs.PIEIFR6.all = 0;
- PieCtrlRegs.PIEIFR7.all = 0;
- PieCtrlRegs.PIEIFR8.all = 0;
- PieCtrlRegs.PIEIFR9.all = 0;
- PieCtrlRegs.PIEIFR10.all = 0;
- PieCtrlRegs.PIEIFR11.all = 0;
- PieCtrlRegs.PIEIFR12.all = 0;
- }
- //---------------------------------------------------------------------------
- // EnableInterrupts:
- //---------------------------------------------------------------------------
- // This function enables the PIE module and CPU interrupts
- //
- void EnableInterrupts()
- {
- // Enable the PIE
- PieCtrlRegs.PIECRTL.bit.ENPIE = 1;
-
- // Enables PIE to drive a pulse into the CPU
- PieCtrlRegs.PIEACK.all = 0xFFFF;
- // Enable Interrupts at the CPU level
- EINT;
- }
- //===========================================================================
- // No more.
- //===========================================================================