DSP2803x_PieCtrl.c 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. //###########################################################################
  2. //
  3. // FILE: DSP2803x_PieCtrl.c
  4. //
  5. // TITLE: DSP2803x Device PIE Control Register Initialization Functions.
  6. //
  7. //###########################################################################
  8. // $TI Release: F2803x C/C++ Header Files and Peripheral Examples V130 $
  9. // $Release Date: May 8, 2015 $
  10. // $Copyright: Copyright (C) 2009-2015 Texas Instruments Incorporated -
  11. // http://www.ti.com/ ALL RIGHTS RESERVED $
  12. //###########################################################################
  13. #include "DSP2803x_Device.h" // DSP2803x Headerfile Include File
  14. #include "DSP2803x_Examples.h" // DSP2803x Examples Include File
  15. //---------------------------------------------------------------------------
  16. // InitPieCtrl:
  17. //---------------------------------------------------------------------------
  18. // This function initializes the PIE control registers to a known state.
  19. //
  20. void InitPieCtrl(void)
  21. {
  22. // Disable Interrupts at the CPU level:
  23. DINT;
  24. // Disable the PIE
  25. PieCtrlRegs.PIECTRL.bit.ENPIE = 0;
  26. // Clear all PIEIER registers:
  27. PieCtrlRegs.PIEIER1.all = 0;
  28. PieCtrlRegs.PIEIER2.all = 0;
  29. PieCtrlRegs.PIEIER3.all = 0;
  30. PieCtrlRegs.PIEIER4.all = 0;
  31. PieCtrlRegs.PIEIER5.all = 0;
  32. PieCtrlRegs.PIEIER6.all = 0;
  33. PieCtrlRegs.PIEIER7.all = 0;
  34. PieCtrlRegs.PIEIER8.all = 0;
  35. PieCtrlRegs.PIEIER9.all = 0;
  36. PieCtrlRegs.PIEIER10.all = 0;
  37. PieCtrlRegs.PIEIER11.all = 0;
  38. PieCtrlRegs.PIEIER12.all = 0;
  39. // Clear all PIEIFR registers:
  40. PieCtrlRegs.PIEIFR1.all = 0;
  41. PieCtrlRegs.PIEIFR2.all = 0;
  42. PieCtrlRegs.PIEIFR3.all = 0;
  43. PieCtrlRegs.PIEIFR4.all = 0;
  44. PieCtrlRegs.PIEIFR5.all = 0;
  45. PieCtrlRegs.PIEIFR6.all = 0;
  46. PieCtrlRegs.PIEIFR7.all = 0;
  47. PieCtrlRegs.PIEIFR8.all = 0;
  48. PieCtrlRegs.PIEIFR9.all = 0;
  49. PieCtrlRegs.PIEIFR10.all = 0;
  50. PieCtrlRegs.PIEIFR11.all = 0;
  51. PieCtrlRegs.PIEIFR12.all = 0;
  52. }
  53. //---------------------------------------------------------------------------
  54. // EnableInterrupts:
  55. //---------------------------------------------------------------------------
  56. // This function enables the PIE module and CPU interrupts
  57. //
  58. void EnableInterrupts()
  59. {
  60. // Enable the PIE
  61. PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
  62. // Enables PIE to drive a pulse into the CPU
  63. PieCtrlRegs.PIEACK.all = 0xFFFF;
  64. // Enable Interrupts at the CPU level
  65. EINT;
  66. }
  67. //===========================================================================
  68. // End of file.
  69. //===========================================================================