#include "HD_GPIO.h" void HD_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; /* 安卓模块电源使能引脚,默认不使能 */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_PwrCtrl_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(GPIO_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(GPIO_PwrCtrl_GPIO_PROT, GPIO_PwrCtrl_GPIO_PIN, Bit_RESET); /* 复位安卓模块引脚,默认低电平 */ GPIO_InitStructure.GPIO_Pin = GPIO_PwrKey_GPIO_PIN; GPIO_Init(GPIO_PwrKey_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(GPIO_PwrKey_GPIO_PROT, GPIO_PwrKey_GPIO_PIN, Bit_RESET); /* 电源控制引脚,默认不开启电源 */ GPIO_InitStructure.GPIO_Pin = J1_PwrCtrl_GPIO_PIN; GPIO_Init(J1_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J1_PwrCtrl_GPIO_PROT, J1_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J2_PwrCtrl_GPIO_PIN; GPIO_Init(J2_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J2_PwrCtrl_GPIO_PROT, J2_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J3_PwrCtrl_GPIO_PIN; GPIO_Init(J3_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J3_PwrCtrl_GPIO_PROT, J3_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J4_PwrCtrl_GPIO_PIN; GPIO_Init(J4_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J4_PwrCtrl_GPIO_PROT, J4_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J5_PwrCtrl_GPIO_PIN; GPIO_Init(J5_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J5_PwrCtrl_GPIO_PROT, J5_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J6_PwrCtrl_GPIO_PIN; GPIO_Init(J6_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J6_PwrCtrl_GPIO_PROT, J6_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J7_PwrCtrl_GPIO_PIN; GPIO_Init(J7_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J7_PwrCtrl_GPIO_PROT, J7_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J8_PwrCtrl_GPIO_PIN; GPIO_Init(J8_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J8_PwrCtrl_GPIO_PROT, J8_PwrCtrl_GPIO_PIN, Bit_RESET); GPIO_InitStructure.GPIO_Pin = J9_PwrCtrl_GPIO_PIN; GPIO_Init(J9_PwrCtrl_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J9_PwrCtrl_GPIO_PROT, J9_PwrCtrl_GPIO_PIN, Bit_RESET); /* 喂狗引脚 */ GPIO_InitStructure.GPIO_Pin = WDI_GPIO_PIN; GPIO_Init(WDI_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(WDI_GPIO_PROT, WDI_GPIO_PIN, Bit_SET); } /** * @brief 设置IO输出电平 * @param GPIOx GPIO_Pin BitVal * @retval */ void HD_GPIO_Write(GPIOTypeDef *GPIOx, GPIOPin GPIO_Pin, BitOperation BitVal) { GPIO_WriteBit(GPIOx, GPIO_Pin, BitVal); } /** * @brief 得到IO电平 * @param GPIOx GPIO_Pin * @retval */ uint8_t HD_InputGPIO_Read(GPIOTypeDef *GPIOx, GPIOPin GPIO_Pin) { return GPIO_ReadInputDataBit(GPIOx, GPIO_Pin); } /** * @brief 得到IO电平 * @param GPIOx GPIO_Pin * @retval */ uint8_t HD_OutputGPIO_Read(GPIOTypeDef *GPIOx, GPIOPin GPIO_Pin) { return GPIO_ReadOutputDataBit(GPIOx, GPIO_Pin); }