NVIC.c 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. #include "main.h"
  2. /*============================================================================================================================
  3. NVIC_PriorityGroup | NVIC_IRQChannelPreemptionPriority | NVIC_IRQChannelSubPriority | Description
  4. ============================================================================================================================
  5. NVIC_PriorityGroup_0 | 0 | 0-15 | 0 bits for pre-emption priority
  6. | | | 4 bits for subpriority
  7. ----------------------------------------------------------------------------------------------------------------------------
  8. NVIC_PriorityGroup_1 | 0-1 | 0-7 | 1 bits for pre-emption priority
  9. | | | 3 bits for subpriority
  10. ----------------------------------------------------------------------------------------------------------------------------
  11. NVIC_PriorityGroup_2 | 0-3 | 0-3 | 2 bits for pre-emption priority
  12. | | | 2 bits for subpriority
  13. ----------------------------------------------------------------------------------------------------------------------------
  14. NVIC_PriorityGroup_3 | 0-7 | 0-1 | 3 bits for pre-emption priority
  15. | | | 1 bits for subpriority
  16. ----------------------------------------------------------------------------------------------------------------------------
  17. NVIC_PriorityGroup_4 | 0-15 | 0 | 4 bits for pre-emption priority
  18. | | | 0 bits for subpriority
  19. ============================================================================================================================*/
  20. static void NVIC_Config(void);
  21. NVICClassStruct NVICClass = {
  22. .Init = NVIC_Config
  23. };
  24. static void NVIC_Config()
  25. {
  26. NVIC_InitTypeDef NVIC_InitStructure;
  27. NVIC_PriorityGroupConfig(NVIC_PriorityGroup_4);
  28. // NVIC_InitStructure.NVIC_IRQChannel = USB_LP_CAN1_RX0_IRQn;
  29. // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; // Ö÷ÓÅÏȼ¶Îª1
  30. // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; // ´ÎÓÅÏȼ¶Îª0
  31. // NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  32. // NVIC_Init(&NVIC_InitStructure);
  33. // NVIC_InitStructure.NVIC_IRQChannel = TIM1_UP_IRQn;
  34. // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  35. // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  36. // NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  37. // NVIC_Init(&NVIC_InitStructure);
  38. NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
  39. NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;
  40. NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  41. NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  42. NVIC_Init(&NVIC_InitStructure);
  43. // NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;
  44. // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;
  45. // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  46. // NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  47. // NVIC_Init(&NVIC_InitStructure);
  48. // NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;
  49. // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 4;
  50. // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  51. // NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  52. // NVIC_Init(&NVIC_InitStructure);
  53. //
  54. // NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn;
  55. // NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 5;
  56. // NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  57. // NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  58. // NVIC_Init(&NVIC_InitStructure);
  59. }