#include "FM_GPIO.h" /** * @brief 初始化GPIO * @param * @retval */ void FM_GPIO_Init(void) { HD_GPIO_Init(); } /** * @brief 喂狗 * @param * @retval */ void feedDog(void) { HD_GPIO_Write(WDI_GPIO_PROT, WDI_GPIO_PIN, GPIO_RESET); HD_GPIO_Write(WDI_GPIO_PROT, WDI_GPIO_PIN, GPIO_SET); } /** * @brief 电源输出状态设置 * @param type 电源输出接口 state 输出状态 * @retval */ void writePwrCtrlState(uint8_t type, uint8_t State) { if (type == J1_PwrCtrl) { HD_GPIO_Write(J1_PwrCtrl_GPIO_PROT, J1_PwrCtrl_GPIO_PIN, State); } else if (type == J2_PwrCtrl) { HD_GPIO_Write(J2_PwrCtrl_GPIO_PROT, J2_PwrCtrl_GPIO_PIN, State); } else if (type == J3_PwrCtrl) { HD_GPIO_Write(J3_PwrCtrl_GPIO_PROT, J3_PwrCtrl_GPIO_PIN, State); } else if (type == J4_PwrCtrl) { HD_GPIO_Write(J4_PwrCtrl_GPIO_PROT, J4_PwrCtrl_GPIO_PIN, State); } else if (type == J5_PwrCtrl) { HD_GPIO_Write(J5_PwrCtrl_GPIO_PROT, J5_PwrCtrl_GPIO_PIN, State); } else if (type == J6_PwrCtrl) { HD_GPIO_Write(J6_PwrCtrl_GPIO_PROT, J6_PwrCtrl_GPIO_PIN, State); } else if (type == J7_PwrCtrl) { HD_GPIO_Write(J7_PwrCtrl_GPIO_PROT, J7_PwrCtrl_GPIO_PIN, State); } else if (type == J8_PwrCtrl) { HD_GPIO_Write(J8_PwrCtrl_GPIO_PROT, J8_PwrCtrl_GPIO_PIN, State); } else if (type == J9_PwrCtrl) { HD_GPIO_Write(J9_PwrCtrl_GPIO_PROT, J9_PwrCtrl_GPIO_PIN, State); } else if (type == Android_PwrCtrl) { HD_GPIO_Write(GPIO_PwrCtrl_GPIO_PROT, GPIO_PwrCtrl_GPIO_PIN, State); } } /** * @brief 读取电源输出状态 * @param type 电源输出接口 * @retval state 输出状态 0xFF 输入类型错误 PwrCtrlClose 关闭状态 PwrCtrlOpen 开启状态 */ uint8_t readPwrCtrlState(uint8_t type) { if (type == J1_PwrCtrl) { return HD_OutputGPIO_Read(J1_PwrCtrl_GPIO_PROT, J1_PwrCtrl_GPIO_PIN); } else if (type == J2_PwrCtrl) { return HD_OutputGPIO_Read(J2_PwrCtrl_GPIO_PROT, J2_PwrCtrl_GPIO_PIN); } else if (type == J3_PwrCtrl) { return HD_OutputGPIO_Read(J3_PwrCtrl_GPIO_PROT, J3_PwrCtrl_GPIO_PIN); } else if (type == J4_PwrCtrl) { return HD_OutputGPIO_Read(J4_PwrCtrl_GPIO_PROT, J4_PwrCtrl_GPIO_PIN); } else if (type == J5_PwrCtrl) { return HD_OutputGPIO_Read(J5_PwrCtrl_GPIO_PROT, J5_PwrCtrl_GPIO_PIN); } else if (type == J6_PwrCtrl) { return HD_OutputGPIO_Read(J6_PwrCtrl_GPIO_PROT, J6_PwrCtrl_GPIO_PIN); } else if (type == J7_PwrCtrl) { return HD_OutputGPIO_Read(J7_PwrCtrl_GPIO_PROT, J7_PwrCtrl_GPIO_PIN); } else if (type == J8_PwrCtrl) { return HD_OutputGPIO_Read(J8_PwrCtrl_GPIO_PROT, J8_PwrCtrl_GPIO_PIN); } else if (type == J9_PwrCtrl) { return HD_OutputGPIO_Read(J9_PwrCtrl_GPIO_PROT, J9_PwrCtrl_GPIO_PIN); } else if (type == Android_PwrCtrl) { return HD_OutputGPIO_Read(GPIO_PwrCtrl_GPIO_PROT, GPIO_PwrCtrl_GPIO_PIN); } return 0xFF; } /** * @brief 开始复位安卓模块,7-10S后,安卓模块会复位 * @param * @retval */ void startResetAndroidModule(void) { HD_GPIO_Write(GPIO_PwrKey_GPIO_PROT, GPIO_PwrKey_GPIO_PIN, GPIO_SET); } /** * @brief 停止复位安卓模块,使用开始复位安卓模块函数7-10S后,安卓模块复位后使用该函数 * @param * @retval */ void stopResetAndroidModule(void) { HD_GPIO_Write(GPIO_PwrKey_GPIO_PROT, GPIO_PwrKey_GPIO_PIN, GPIO_RESET); }