gateway_mcu/CH32V303-FreeRTOS/App/functionalModule/Src/FM_GPIO.c

109 lines
3.4 KiB
C
Raw Normal View History

#include "FM_GPIO.h"
/**
* @brief <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>GPIO
* @param
* @retval
*/
void FM_GPIO_Init(void)
{
HD_GPIO_Init();
}
/**
* @brief ι<EFBFBD><EFBFBD>
* @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 <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* @param type <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
state <EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @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 <EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
* @param type <EFBFBD><EFBFBD>Դ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӿ<EFBFBD>
* @retval state <EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
0xFF <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD><EFBFBD>
PwrCtrlClose <EFBFBD>ر<EFBFBD>״̬
PwrCtrlOpen <EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬
*/
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 <EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>׿ģ<EFBFBD>7-10S<EFBFBD>󣬰<EFBFBD>׿ģ<EFBFBD><EFBFBD><EFBFBD>λ
* @param
* @retval
*/
void startResetAndroidModule(void)
{
HD_GPIO_Write(GPIO_PwrKey_GPIO_PROT, GPIO_PwrKey_GPIO_PIN, GPIO_SET);
}
/**
* @brief ֹͣ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>׿ģ<EFBFBD>ʹ<EFBFBD>ÿ<EFBFBD>ʼ<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>׿ģ<EFBFBD><EFBFBD><EFBFBD>7-10S<EFBFBD>󣬰<EFBFBD>׿ģ<EFBFBD>λ<EFBFBD><EFBFBD>ʹ<EFBFBD>øú<EFBFBD><EFBFBD><EFBFBD>
* @param
* @retval
*/
void stopResetAndroidModule(void)
{
HD_GPIO_Write(GPIO_PwrKey_GPIO_PROT, GPIO_PwrKey_GPIO_PIN, GPIO_RESET);
}