yc_exti.c 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #include "yc_exti.h"
  2. #include "yc11xx_gpio.h"
  3. #include "core_cm0.h"
  4. void NVIC_Config(IRQn_Type IRQn, FunctionalState enable )
  5. {
  6. if(enable)
  7. {
  8. NVIC_ISER |= 1 << IRQn;
  9. }
  10. else
  11. NVIC_ICER |= 1 << IRQn;
  12. }
  13. void GPIO_Interrupt_Config()
  14. {
  15. uint8_t i;
  16. NVIC_SetPriority(gpio0_handler_IRQn, 0);
  17. NVIC_SetPriority(gpio8_handler_IRQn, 0);
  18. NVIC_SetPriority(gpio9_handler_IRQn, 0);
  19. NVIC_SetPriority(gpio12_handler_IRQn, 1);
  20. NVIC_SetPriority(gpio13_handler_IRQn, 1);
  21. NVIC_SetPriority(gpio14_handler_IRQn, 1);
  22. NVIC_SetPriority(gpio15_handler_IRQn, 1);
  23. NVIC_SetPriority(gpio16_handler_IRQn, 1);
  24. NVIC_SetPriority(gpio17_handler_IRQn, 1);
  25. NVIC_SetPriority(gpio18_handler_IRQn, 1);
  26. NVIC_SetPriority(gpio19_handler_IRQn, 1);
  27. NVIC_SetPriority(gpio20_handler_IRQn, 1);
  28. NVIC_SetPriority(gpio21_handler_IRQn, 1);
  29. NVIC_SetPriority(gpio22_handler_IRQn, 1);
  30. for(i=0;i<23;i++)GPIO_SetInput(i,1);
  31. NVIC_Config(gpio0_handler_IRQn,ENABLE);
  32. NVIC_Config(gpio8_handler_IRQn,ENABLE);
  33. NVIC_Config(gpio9_handler_IRQn,ENABLE);
  34. NVIC_Config(gpio12_handler_IRQn,ENABLE);
  35. NVIC_Config(gpio13_handler_IRQn,ENABLE);
  36. NVIC_Config(gpio14_handler_IRQn,ENABLE);
  37. NVIC_Config(gpio15_handler_IRQn,ENABLE);
  38. NVIC_Config(gpio16_handler_IRQn,ENABLE);
  39. NVIC_Config(gpio17_handler_IRQn,ENABLE);
  40. NVIC_Config(gpio18_handler_IRQn,ENABLE);
  41. NVIC_Config(gpio19_handler_IRQn,ENABLE);
  42. NVIC_Config(gpio20_handler_IRQn,ENABLE);
  43. NVIC_Config(gpio21_handler_IRQn,ENABLE);
  44. NVIC_Config(gpio22_handler_IRQn,ENABLE);
  45. }