#include "bat.h" void BAT_GPIOA_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); } void BAT_GPIOB_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } void BAT_GPIOC_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOC, &GPIO_InitStructure); } void BAT_GPIOD_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOD, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10 | GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOD, &GPIO_InitStructure); } void BAT_GPIOG_Config(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOG, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOG, &GPIO_InitStructure); } void BAT_12V_Config() { BAT_GPIOA_Config(); BAT_GPIOB_Config(); BAT_GPIOC_Config(); BAT_GPIOD_Config(); BAT_GPIOG_Config(); } void BAT_5V_Config() { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd (RCC_AHB1Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin =GPIO_Pin_12; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOA,GPIO_Pin_12); } void BAT12V(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, uint8_t a) { if(a) GPIO_SetBits(GPIOx,GPIO_Pin); else GPIO_ResetBits(GPIOx,GPIO_Pin); } void all_12VBAT(uint8_t cmd) { BAT12V(GPIO0_PORT, GPIO0_PIN, cmd); BAT12V(GPIO1_PORT, GPIO1_PIN, cmd); BAT12V(GPIO2_PORT, GPIO2_PIN, cmd); BAT12V(GPIO3_PORT, GPIO3_PIN, cmd); BAT12V(GPIO4_PORT, GPIO4_PIN, cmd); BAT12V(GPIO5_PORT, GPIO5_PIN, cmd); BAT12V(GPIO6_PORT, GPIO6_PIN, cmd); BAT12V(GPIO7_PORT, GPIO7_PIN, cmd); BAT12V(GPIO8_PORT, GPIO8_PIN, cmd); BAT12V(GPIO9_PORT, GPIO9_PIN, cmd); BAT12V(GPIO10_PORT, GPIO10_PIN, cmd); BAT12V(GPIO11_PORT, GPIO11_PIN, cmd); BAT12V(GPIO12_PORT, GPIO12_PIN, cmd); BAT12V(GPIO13_PORT, GPIO13_PIN, cmd); BAT12V(GPIO14_PORT, GPIO14_PIN, cmd); BAT12V(GPIO15_PORT, GPIO15_PIN, cmd); BAT12V(GPIO16_PORT, GPIO16_PIN, cmd); BAT12V(GPIO17_PORT, GPIO17_PIN, cmd); BAT12V(GPIO18_PORT, GPIO18_PIN, cmd); BAT12V(GPIO19_PORT, GPIO19_PIN, cmd); BAT12V(GPIO20_PORT, GPIO20_PIN, cmd); BAT12V(GPIO21_PORT, GPIO21_PIN, cmd); BAT12V(GPIO22_PORT, GPIO22_PIN, cmd); BAT12V(GPIO23_PORT, GPIO23_PIN, cmd); }