/* ********************************************************************************************************* * IAR Development Kits * on the * * M451 * * Filename : gpio_vcc.h * Version : V1.00 * Programmer(s) : Qian Xianghong ********************************************************************************************************* */ #include "type.h" #ifndef USER_GPIO_VCC_PRESENT #define USER_GPIO_VCC_PRESENT #define VCC_GSM_ON() LL_GPIO_SetOutputPin(GPIOA, LL_GPIO_PIN_12) #define VCC_GSM_OFF() LL_GPIO_ResetOutputPin(GPIOA, LL_GPIO_PIN_12) #define VCC_GPS_ON() LL_GPIO_ResetOutputPin(GPIOD, LL_GPIO_PIN_4) // 低电平打开 #define VCC_GPS_OFF() LL_GPIO_SetOutputPin(GPIOD, LL_GPIO_PIN_4) #define IS_VCC_GPS_ON() (!LL_GPIO_IsOutputPinSet(GPIOD, GPIO_PIN_4)) // RS485输出开关 #define VCC_RS485_ON() LL_GPIO_ResetOutputPin(GPIOC, LL_GPIO_PIN_12) // 低电平打开 #define VCC_RS485_OFF() LL_GPIO_SetOutputPin(GPIOC, LL_GPIO_PIN_12) // RF模块开关(4~20mA通信开关) #define VCC_RF_ON() LL_GPIO_SetOutputPin(GPIOD, LL_GPIO_PIN_11) #define VCC_RF_OFF() LL_GPIO_ResetOutputPin(GPIOD, LL_GPIO_PIN_11) #define IS_VCC_RF_ON() (LL_GPIO_IsOutputPinSet(GPIOD, LL_GPIO_PIN_11)) // RF模块开关(4~20mA通信开关) #define VCC_MA_ON() LL_GPIO_SetOutputPin(GPIOD, LL_GPIO_PIN_11) #define VCC_MA_OFF() LL_GPIO_ResetOutputPin(GPIOD, LL_GPIO_PIN_11) #define IS_VCC_MA_ON() (LL_GPIO_IsOutputPinSet(GPIOD, LL_GPIO_PIN_11)) // BD模块开关 #define VCC_BD_ON() LL_GPIO_SetOutputPin(GPIOD, LL_GPIO_PIN_2) #define VCC_BD_OFF() LL_GPIO_ResetOutputPin(GPIOD, LL_GPIO_PIN_2) // SFlash开关 #define VCC_SFLASH_FRAM_ON() LL_GPIO_ResetOutputPin(GPIOE, LL_GPIO_PIN_11) // 低电平打开 #define VCC_SFLASH_FRAM_OFF() LL_GPIO_SetOutputPin(GPIOE, LL_GPIO_PIN_11) // 传感器5V开关 #define VCC_SENSOR_5V_ON() LL_GPIO_SetOutputPin(GPIOE, LL_GPIO_PIN_1) #define VCC_SENSOR_5V_OFF() LL_GPIO_ResetOutputPin(GPIOE, LL_GPIO_PIN_1) #define IS_VCC_SENSOR_5V_ON() (LL_GPIO_IsOutputPinSet(GPIOE, LL_GPIO_PIN_1)) // 充电检测及唤醒脚 #define VCC_POWER_STATUS() (LL_GPIO_IsInputPinSet(GPIOE, GPIO_PIN_7)) // 防过充输出开关 #define KZ_CHARGE_ENABLE_HIGH() LL_GPIO_SetOutputPin(GPIOB, LL_GPIO_PIN_6) // 充装模块E2 #define KZ_CHARGE_ENABLE_LOW() LL_GPIO_ResetOutputPin(GPIOB, LL_GPIO_PIN_6) #define IS_CHARGE_ENABLE_HIGH() (LL_GPIO_IsOutputPinSet(GPIOB, LL_GPIO_PIN_6)) #define KZ_CHARGE_DISABLE_HIGH() LL_GPIO_SetOutputPin(GPIOB, LL_GPIO_PIN_7) // 充装模块E1 #define KZ_CHARGE_DISABLE_LOW() LL_GPIO_ResetOutputPin(GPIOB, LL_GPIO_PIN_7) #define IS_CHARGE_DISABLE_HIGH() (LL_GPIO_IsOutputPinSet(GPIOB, LL_GPIO_PIN_7)) // 常开防过充阀门控制开关(默认为允许充装,当检测到充满时气动关闭) #define KZ_NORM_OPEN_ENABLE() KZ_CHARGE_ENABLE_LOW() #define KZ_NORM_OPEN_DISABLE() KZ_CHARGE_ENABLE_HIGH() #define IS_NORM_OPEN_ENABLED() (!IS_CHARGE_ENABLE_HIGH()) // 电磁阀控制开关(临时占用防过充引脚,常闭阀门,默认需要设置为允许状态) #define KZ_VALUE_ENABLE() LL_GPIO_SetOutputPin(GPIOB, LL_GPIO_PIN_6) #define KZ_VALUE_DISABLE() LL_GPIO_ResetOutputPin(GPIOB, LL_GPIO_PIN_6) #define IS_VALUE_ENABLED() (LL_GPIO_IsOutputPinSet(GPIOB, LL_GPIO_PIN_6)) // 声光报警输出开关 #define KZ_ALARM_ON() LL_GPIO_SetOutputPin(GPIOE, LL_GPIO_PIN_9) #define KZ_ALARM_OFF() LL_GPIO_ResetOutputPin(GPIOE, LL_GPIO_PIN_9) #define IS_ALARM_ON() (LL_GPIO_IsOutputPinSet(GPIOE, LL_GPIO_PIN_9)) // 低液位报警开关(占用声光报警输出开关) #define KZ_LOW_ALARM_ON() LL_GPIO_SetOutputPin(GPIOE, LL_GPIO_PIN_9) #define KZ_LOW_ALARM_OFF() LL_GPIO_ResetOutputPin(GPIOE, LL_GPIO_PIN_9) #define IS_LOW_ALARM_ON() (LL_GPIO_IsOutputPinSet(GPIOE, LL_GPIO_PIN_9)) // 低液位指示开关(无源干接点输出) #define KZ_LOW_LEVEL_ON() LL_GPIO_SetOutputPin(GPIOD, LL_GPIO_PIN_0) #define KZ_LOW_LEVEL_OFF() LL_GPIO_ResetOutputPin(GPIOD, LL_GPIO_PIN_0) #define IS_LOW_LEVEL_ON() (LL_GPIO_IsOutputPinSet(GPIOD, LL_GPIO_PIN_0)) // 高液位指示开关(无源干接点输出) #define KZ_LEVEL_ON() LL_GPIO_SetOutputPin(GPIOD, LL_GPIO_PIN_1) #define KZ_LEVEL_OFF() LL_GPIO_ResetOutputPin(GPIOD, LL_GPIO_PIN_1) #define IS_LEVEL_ON() (LL_GPIO_IsOutputPinSet(GPIOD, LL_GPIO_PIN_1)) // 槽车充液泵控制开关(临时占用pcap04的CS引脚) #define KZ_PUMP_ON() #define KZ_PUMP_OFF() #define IS_PUMP_ON() (0) // 泄露报警输入开关 #define VCC_LEAK_STATUS() (LL_GPIO_IsInputPinSet(GPIOE, GPIO_PIN_8)) void Vcc_Init(); void Vcc_Disable(); // 恢复通信引脚输出 void Vcc_Enable(); extern volatile uint8_t LCD_Disabled; #endif