#include "HD_GPIO.h" /** * @brief 놓迦뺏寮닒mcu털뙤多신,깻럿쀼寮닒多신斤口 * @param * @retval */ uint8_t mcu_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOE, &GPIO_InitStructure); return HD_InputGPIO_Read(GPIOE, GPIO_Pin_4); } /** * @brief 놓迦뺏똥왯든都왠齡多신 * @param * @retval */ void PwrCtrl_GPIO_Init(void) { /* 든都왠齡多신,칵훰꼇역폘든都 */ GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE, ENABLE); GPIO_InitStructure.GPIO_Pin = J1_PwrCtrl_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; 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); } /** * @brief 갛六친욥왠齡多신놓迦뺏 * @param * @retval */ void Android_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); } /** * @brief 菅뭍多신놓迦뺏 * @param * @retval */ void WDI_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = WDI_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(WDI_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(WDI_GPIO_PROT, WDI_GPIO_PIN, Bit_SET); } /** * @brief led됐多신놓迦뺏 * @param * @retval */ void LED_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); GPIO_InitStructure.GPIO_Pin = LED_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(LED_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(LED_GPIO_PROT, LED_GPIO_PIN, Bit_SET); } /** * @brief 寮샙485뗍畇왠齡多신놓迦뺏 * @param * @retval */ void Host485De_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); GPIO_InitStructure.GPIO_Pin = J0De_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(J0De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J0De_GPIO_PROT, J0De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J2De_GPIO_PIN; GPIO_Init(J2De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J2De_GPIO_PROT, J2De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J4De_GPIO_PIN; GPIO_Init(J4De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J4De_GPIO_PROT, J4De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J6De_GPIO_PIN; GPIO_Init(J6De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J6De_GPIO_PROT, J6De_GPIO_PIN, write); } /** * @brief 닒샙485뗍畇왠齡多신놓迦뺏 * @param * @retval */ void Slave485De_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE); GPIO_InitStructure.GPIO_Pin = J1De_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(J1De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J1De_GPIO_PROT, J1De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J3De_GPIO_PIN; GPIO_Init(J3De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J3De_GPIO_PROT, J3De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J5De_GPIO_PIN; GPIO_Init(J5De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J5De_GPIO_PROT, J5De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J7De_GPIO_PIN; GPIO_Init(J7De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J7De_GPIO_PROT, J7De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J8De_GPIO_PIN; GPIO_Init(J8De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J8De_GPIO_PROT, J8De_GPIO_PIN, write); GPIO_InitStructure.GPIO_Pin = J9De_GPIO_PIN; GPIO_Init(J9De_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(J9De_GPIO_PROT, J9De_GPIO_PIN, write); } /** * @brief 놓迦뺏왠齡닒mcu릿貫多신 * @param * @retval */ void ctrlSlave_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE); GPIO_InitStructure.GPIO_Pin = ctrlSlave_GPIO_PIN; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_Init(ctrlSlave_GPIO_PROT, &GPIO_InitStructure); GPIO_WriteBit(ctrlSlave_GPIO_PROT, ctrlSlave_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); }