#include "relay-board.h" RelayInfo_t RelayInfo = { {GPIOB, GPIO_PIN_8, GPIO_MODE_OUTPUT_PP, GPIO_PULLUP, GPIO_SPEED_FREQ_VERY_HIGH, NULL}, //PB5 {GPIOB, GPIO_PIN_9, GPIO_MODE_OUTPUT_PP, GPIO_PULLUP, GPIO_SPEED_FREQ_VERY_HIGH, NULL}, //PB5 }; /******************************************** 函数名称:UartInfoInit 输入参数:串口句柄 输出参数:NULL 功能描述:初始化一个串口 ********************************************/ void RelayInfoInit (void) { GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Mode = RelayInfo.Relay1.mode; GPIO_InitStruct.Pull = RelayInfo.Relay1.Pull; GPIO_InitStruct.Speed = RelayInfo.Relay1.Speed; GPIO_InitStruct.Pin = RelayInfo.Relay1.pin; HAL_GPIO_Init (RelayInfo.Relay1.GPIOx, &GPIO_InitStruct); HAL_GPIO_WritePin (RelayInfo.Relay1.GPIOx, RelayInfo.Relay1.pin, GPIO_PIN_RESET); GPIO_InitStruct.Mode = RelayInfo.Relay2.mode; GPIO_InitStruct.Pull = RelayInfo.Relay2.Pull; GPIO_InitStruct.Speed = RelayInfo.Relay2.Speed; GPIO_InitStruct.Pin = RelayInfo.Relay2.pin; HAL_GPIO_Init (RelayInfo.Relay2.GPIOx, &GPIO_InitStruct); HAL_GPIO_WritePin (RelayInfo.Relay2.GPIOx, RelayInfo.Relay2.pin, GPIO_PIN_RESET); } void RelayOpenDoor (void) { HAL_GPIO_WritePin (RelayInfo.Relay1.GPIOx, RelayInfo.Relay1.pin, GPIO_PIN_SET); } void RelayCloseDoor (void) { HAL_GPIO_WritePin (RelayInfo.Relay1.GPIOx, RelayInfo.Relay1.pin, GPIO_PIN_RESET); } void RelayOpenK2 (void) { HAL_GPIO_WritePin (RelayInfo.Relay2.GPIOx, RelayInfo.Relay2.pin, GPIO_PIN_SET); } void RelayCloseK2 (void) { HAL_GPIO_WritePin (RelayInfo.Relay2.GPIOx, RelayInfo.Relay2.pin, GPIO_PIN_RESET); }