chargeController/APP/functionalModule/Src/FM_GPIO.c

211 lines
3.8 KiB
C
Raw Normal View History

2024-12-06 13:23:28 +00:00
#include "FM_GPIO.h"
#include "uart_dev.h"
2024-12-06 13:23:28 +00:00
void FM_GPIO_Init(void)
{
HD_GPIO_Init();
}
/**
* @brief mos管
* @param None
* @retval None
*/
void POW_FF_PCON_Open(void)
{
HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_SET);
}
/**
* @brief mos管
* @param None
* @retval None
*/
void POW_FF_PCON_Close(void)
{
HAL_GPIO_WritePin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin, GPIO_PIN_RESET);
}
/**
* @brief mos管
* @param None
* @retval None
*/
void POW_OUT_PCON_Open(void)
{
HAL_GPIO_WritePin(POW_OUT_CON_GPIO_Port, POW_OUT_CON_Pin, GPIO_PIN_SET);
}
/**
* @brief mos管
* @param None
* @retval None
*/
void POW_OUT_PCON_Close(void)
{
HAL_GPIO_WritePin(POW_OUT_CON_GPIO_Port, POW_OUT_CON_Pin, GPIO_PIN_RESET);
}
/**
* @brief
* @param None
* @retval TRUE
* FALSE
*/
BOOL readPOW_OUT_PCON_State(void)
{
if (HAL_GPIO_ReadPin(POW_OUT_CON_GPIO_Port, POW_OUT_CON_Pin)) {
return TRUE;
}
return FALSE;
}
2024-12-06 13:23:28 +00:00
/**
* @brief LED灯
* @param None
* @retval None
*/
void RUN_LEN_Open(void)
{
HAL_GPIO_WritePin(RUN_LED_GPIO_Port, RUN_LED_Pin, GPIO_PIN_SET);
}
/**
* @brief LED灯
* @param None
* @retval None
*/
void RUN_LEN_Close(void)
{
HAL_GPIO_WritePin(RUN_LED_GPIO_Port, RUN_LED_Pin, GPIO_PIN_RESET);
}
/**
* @brief LED状态
* @param None
* @retval None
*/
void RUN_LED(void)
{
HAL_GPIO_TogglePin(RUN_LED_GPIO_Port, RUN_LED_Pin);
}
2024-12-06 13:23:28 +00:00
/**
* @brief mppt电感后的输出mos管
* @param None
* @retval None
*/
void FFMOS_CON_Open(void)
{
HAL_GPIO_WritePin(FFMOS_CON_GPIO_Port, FFMOS_CON_Pin, GPIO_PIN_RESET);
}
/**
* @brief mppt电感后的输出mos管
* @param None
* @retval None
*/
void FFMOS_CON_Close(void)
{
HAL_GPIO_WritePin(FFMOS_CON_GPIO_Port, FFMOS_CON_Pin, GPIO_PIN_SET);
}
/**
* @brief mos管使能pwm输出
* @param None
* @retval None
*/
void EN_PWMOUT_Eable(void)
{
HAL_GPIO_WritePin(EN_PWMOUT_GPIO_Port, EN_PWMOUT_Pin, GPIO_PIN_RESET);
}
/**
* @brief mos管关闭pwm输出
* @param None
* @retval None
*/
void EN_PWMOUT_Diseable(void)
{
HAL_GPIO_WritePin(EN_PWMOUT_GPIO_Port, EN_PWMOUT_Pin, GPIO_PIN_SET);
}
/**
* @brief
* @param None
* @retval None
*/
void feedDog(void)
{
HAL_GPIO_WritePin(WDI_INPUT_GPIO_Port, WDI_INPUT_Pin, GPIO_PIN_SET);
HAL_GPIO_WritePin(WDI_INPUT_GPIO_Port, WDI_INPUT_Pin, GPIO_PIN_RESET);
}
/**
* @brief
* @param None
* @retval
*/
BOOL readOverCurrState(void)
{
if (HAL_GPIO_ReadPin(DSG_PROT_GPIO_Port, DSG_PROT_Pin)) {
return TRUE;
}
return FALSE;
}
/**
* @brief
* @param None
* @retval None
*/
BOOL readOnlyPowerOutputState(void)
{
if (HAL_GPIO_ReadPin(POW_FF_CON_GPIO_Port, POW_FF_CON_Pin)
&& HAL_GPIO_ReadPin(POW_OUT_CON_GPIO_Port, POW_OUT_CON_Pin)
&& HAL_GPIO_ReadPin(DSG_PROT_GPIO_Port, DSG_PROT_Pin)) {
return TRUE;
}
return FALSE;
}
/**
* @brief
* @param None
* @retval None
*/
BOOL readOutputState(void)
{
2024-12-11 09:51:48 +00:00
if (HAL_GPIO_ReadPin(POW_OUT_CON_GPIO_Port, POW_OUT_CON_Pin)
&& HAL_GPIO_ReadPin(DSG_PROT_GPIO_Port, DSG_PROT_Pin)) {
return TRUE;
}
return FALSE;
}
2024-12-06 13:23:28 +00:00
/**
* @brief GPIO外部中断的回调函数
* @param GPIO_Pin
* @retval None
*/
void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
if (GPIO_Pin == WORK_VOLT_INT_Pin) {
WORK_VOLT_Interrupt();
2024-12-06 13:23:28 +00:00
}
else if (GPIO_Pin == DSG_PROT_Pin) {
DSG_PROT_Interrupt();
2024-12-06 13:23:28 +00:00
}
}