isr.c
上传用户:dongxin
上传日期:2022-06-22
资源大小:370k
文件大小:1k
源码类别:

uCOS

开发平台:

Others

  1. #include "includes.h"
  2. //#include <stdio.h>
  3. #include <string.h>
  4. #define   OS_CPU_GLOBALS
  5. extern  OS_EVENT *delSEM;
  6. extern OS_EVENT *sw1SEM;
  7. extern  OS_EVENT *sw2SEM;
  8. extern  char reStr[8];
  9. extern  INT8U delPrio;
  10. //按键2中断服务函数
  11. void OS_IRQ1_ISR_Handler(void)
  12. {
  13. MCF_EPORT0_EPFR |= 0x00000002; //清除中断标志位
  14. OSSemPost(sw2SEM);
  15. }
  16. //按键1中断服务函数
  17. void OS_IRQ7_ISR_Handler(void)
  18. {
  19. MCF_EPORT0_EPFR |= 0x00000080; //清除中断标志
  20. OSSemPost(sw1SEM);
  21. }
  22. //定时中断服务函数
  23. void OS_PIT0_ISR_Handler(void)
  24. {
  25. MCF_PIT0_PCSR |= MCF_PIT_PCSR_PIF;   //清除中断标志
  26.     OSTimeTick();
  27. }
  28. //串口中断服务函数
  29. void OS_UART0_ISR_Handler(void)
  30. {
  31.     char str[3];
  32. if(UartReN(0,6,reStr) == 0)
  33. {
  34. delPrio = (reStr[4] - '0') * 10 + (reStr[5] - '0');
  35. strncpy(str,reStr,3);
  36. if(strcmp(str,"del") == 0)
  37. OSSemPost(delSEM);
  38. }
  39. }