/* * @Description: * @Version: 2.0 * @Author: Seven * @Date: 2022-08-23 17:11:49 * @LastEditors: Seven * @LastEditTime: 2022-08-23 18:19:48 */ #ifndef __POS_H__ #define __POS_H__ #include "stm32f10x.h" #include "tools.h" #define PORT_LED_ON 1 //初始化时打开指示灯 #define PORT_LED_OFF 0 //初始化时不打开指示灯 #define SW_POS1_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_3);} #define SW_POS1_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_3);} #define SW_POS2_ON() {GPIO_ResetBits(GPIOD, GPIO_Pin_4);} #define SW_POS2_OFF() {GPIO_SetBits(GPIOD, GPIO_Pin_4);} #define SW_ITSY1_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_5);} #define SW_ITSY1_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_5);} #define SW_ITSY2_ON() {GPIO_SetBits(GPIOD, GPIO_Pin_6);} #define SW_ITSY2_OFF() {GPIO_ResetBits(GPIOD, GPIO_Pin_6);} #define YTSF_GPIO_REV2_RESET() {GPIO_ResetBits(GPIOC, GPIO_Pin_0);} #define YTSF_GPIO_REV2_SET() {GPIO_SetBits(GPIOC, GPIO_Pin_0);} #define YTSF_GPIO_SET() {GPIO_SetBits(GPIOC, GPIO_Pin_1);} #define YTSF_GPIO_RST() {GPIO_ResetBits(GPIOC, GPIO_Pin_1);} #define YTSF_GPIO_DETECT GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_2) #define YTSF_GPIO_EN() {GPIO_ResetBits(GPIOC, GPIO_Pin_3);} #define YTSF_GPIO_DN() {GPIO_SetBits(GPIOC, GPIO_Pin_3);} #define POS1_TTL_READ() GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0) #define POS2_TTL_READ() GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_1) #define POS1_PRES 1 #define POS2_PRES 2 #define ITSF_PWR_ON() {GPIO_ResetBits(GPIOE, GPIO_Pin_6);} #define ITSF_PWR_OFF() {GPIO_SetBits(GPIOE, GPIO_Pin_6);} #define LORA_PWR_ON() {GPIO_ResetBits(GPIOE, GPIO_Pin_7);} #define LORA_PWR_OFF() {GPIO_SetBits(GPIOE, GPIO_Pin_7);} #define ITSF_PWR 1 #define LORA_PWR 2 #define ITSF_LORA_PWR 3 #define POS1_TIMEOUT_TIME (1*60*1000) //1min #define POS2_TIMEOUT_TIME (1*60*1000) //1min #define POS_SIGNAL_NUM 20 //判断pos口接通需要的信号个数 //pos切换信息 typedef struct _pos_info { uint8_t pos1_count; uint8_t pos2_count; uint8_t pos1_flag; uint8_t pos2_flag; timeout_t pos1_off; timeout_t pos2_off; timeout_t pos1_tt; timeout_t pos2_tt; }pos_info_t; extern pos_info_t pos_info; //pos切换次数存储 typedef struct _pos_change_t { uint32_t pos1_num; uint32_t pos2_num; }pos_change_t; extern pos_change_t pos_change; #define POS_CHANGE_ADDR (64*255) //第256页 void sw_gpio_init(void); void tax_ch_sw(uint8_t state, uint8_t posnode); void pos_init(void); void pos_changle(void); void tax_sw_reset(uint8_t tax); void lora_encrypt_power_init(uint8_t state); void port_init(uint8_t state); #endif