Eint.c
上传用户:jinguanrq
上传日期:2022-06-04
资源大小:724k
文件大小:2k
源码类别:

uCOS

开发平台:

C/C++

  1. /*--- include files ---*/
  2. #include "44blib.h"
  3. #include "44b.h"
  4. #include "def.h"
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8. void Eint4567Isr(void);
  9. /*********************************************************************************************
  10. * name: init_Eint
  11. * func:
  12. * para: none
  13. * ret: none
  14. * modify:
  15. * comment:
  16. *********************************************************************************************/
  17. void init_Eint(void)
  18. {
  19. /* enable interrupt */
  20.     rI_ISPC    = 0x3ffffff;
  21. rEXTINTPND = 0xf;                          // clear EXTINTPND reg
  22. rINTMOD    = 0x0;
  23. rINTCON    = 0x1;
  24. rINTMSK    = ~(BIT_GLOBAL|BIT_EINT4567);
  25. /* set EINT interrupt handler */
  26.     pISR_EINT4567 = (int)Eint4567Isr;
  27.     
  28.    /* PORT G */
  29.     rPCONG  = 0xffff;                          // EINT7~0
  30. rPUPG   = 0x0;                             // pull up enable     
  31. rEXTINT = rEXTINT|0x22220020;              // EINT1、EINT4567 falling edge mode
  32.     rI_ISPC    |= BIT_EINT4567;
  33. rEXTINTPND = 0xf;                          // clear EXTINTPND reg
  34. }
  35. #if 0
  36. /*********************************************************************************************
  37. * name: Eint4567Isr
  38. * func:
  39. * para: none
  40. * ret: none
  41. * modify:
  42. * comment:
  43. *********************************************************************************************/
  44. void Eint4567Isr(void)
  45. {
  46.     
  47.     Uart_Printf("Key pressed...n");
  48.     //which_int  = rEXTINTPND;
  49.     rEXTINTPND = 0xf; //clear EXTINTPND reg.
  50.     rI_ISPC   |= BIT_EINT4567; //clear pending_bit
  51. }
  52. #endif
  53. #ifdef __cplusplus
  54.  }
  55. #endif