bat.c 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. #include "bat.h"
  2. void BAT_GPIOA_Config(void)
  3. {
  4. GPIO_InitTypeDef GPIO_InitStructure;
  5. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOA, ENABLE);
  6. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
  7. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  8. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  9. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  10. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  11. GPIO_Init(GPIOA, &GPIO_InitStructure);
  12. }
  13. void BAT_GPIOB_Config(void)
  14. {
  15. GPIO_InitTypeDef GPIO_InitStructure;
  16. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOB, ENABLE);
  17. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  18. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  19. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  20. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  21. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  22. GPIO_Init(GPIOB, &GPIO_InitStructure);
  23. }
  24. void BAT_GPIOC_Config(void)
  25. {
  26. GPIO_InitTypeDef GPIO_InitStructure;
  27. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOC, ENABLE);
  28. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9;
  29. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  30. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  31. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  32. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  33. GPIO_Init(GPIOC, &GPIO_InitStructure);
  34. }
  35. void BAT_GPIOD_Config(void)
  36. {
  37. GPIO_InitTypeDef GPIO_InitStructure;
  38. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOD, ENABLE);
  39. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;
  40. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  41. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  42. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  43. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  44. GPIO_Init(GPIOD, &GPIO_InitStructure);
  45. }
  46. void BAT_GPIOG_Config(void)
  47. {
  48. GPIO_InitTypeDef GPIO_InitStructure;
  49. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOG, ENABLE);
  50. GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 |
  51. GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8;
  52. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  53. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  54. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
  55. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  56. GPIO_Init(GPIOG, &GPIO_InitStructure);
  57. }
  58. void BAT_12V_Config()
  59. {
  60. BAT_GPIOA_Config();
  61. BAT_GPIOB_Config();
  62. BAT_GPIOC_Config();
  63. BAT_GPIOD_Config();
  64. BAT_GPIOG_Config();
  65. }
  66. void BAT_5V_Config()
  67. {
  68. GPIO_InitTypeDef GPIO_InitStructure;
  69. RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOA, ENABLE);
  70. GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12;
  71. GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
  72. GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
  73. GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
  74. GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
  75. GPIO_Init(GPIOA, &GPIO_InitStructure);
  76. GPIO_SetBits(GPIOA,GPIO_Pin_12);
  77. }
  78. void BAT12V(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t a) {
  79. if(a) GPIO_SetBits(GPIOx,GPIO_Pin);
  80. else GPIO_ResetBits(GPIOx,GPIO_Pin);
  81. }
  82. void all_12VBAT(uint8_t cmd)
  83. {
  84. BAT12V(GPIO0_PORT, GPIO0_PIN, cmd);
  85. BAT12V(GPIO1_PORT, GPIO1_PIN, cmd);
  86. BAT12V(GPIO2_PORT, GPIO2_PIN, cmd);
  87. BAT12V(GPIO3_PORT, GPIO3_PIN, cmd);
  88. BAT12V(GPIO4_PORT, GPIO4_PIN, cmd);
  89. BAT12V(GPIO5_PORT, GPIO5_PIN, cmd);
  90. BAT12V(GPIO6_PORT, GPIO6_PIN, cmd);
  91. BAT12V(GPIO7_PORT, GPIO7_PIN, cmd);
  92. BAT12V(GPIO8_PORT, GPIO8_PIN, cmd);
  93. BAT12V(GPIO9_PORT, GPIO9_PIN, cmd);
  94. BAT12V(GPIO10_PORT, GPIO10_PIN, cmd);
  95. BAT12V(GPIO11_PORT, GPIO11_PIN, cmd);
  96. BAT12V(GPIO12_PORT, GPIO12_PIN, cmd);
  97. BAT12V(GPIO13_PORT, GPIO13_PIN, cmd);
  98. BAT12V(GPIO14_PORT, GPIO14_PIN, cmd);
  99. BAT12V(GPIO15_PORT, GPIO15_PIN, cmd);
  100. BAT12V(GPIO16_PORT, GPIO16_PIN, cmd);
  101. BAT12V(GPIO17_PORT, GPIO17_PIN, cmd);
  102. BAT12V(GPIO18_PORT, GPIO18_PIN, cmd);
  103. BAT12V(GPIO19_PORT, GPIO19_PIN, cmd);
  104. BAT12V(GPIO20_PORT, GPIO20_PIN, cmd);
  105. BAT12V(GPIO21_PORT, GPIO21_PIN, cmd);
  106. BAT12V(GPIO22_PORT, GPIO22_PIN, cmd);
  107. BAT12V(GPIO23_PORT, GPIO23_PIN, cmd);
  108. }