#ifndef _COMM_RESOURCE_H_ #define _COMM_RESOURCE_H_ #include "common.h" #include "uart_recv.h" #define RS485_MAX_PACK_DATA_LEN 50 #define PACK_BUFF_SIZE 50 /// 上行消息队列指针,device->agent extern OS_EVENT *p_queue_up; /// 下行消息队列指针,agent->device extern OS_EVENT *p_queue_down; /// 设备层之间使用 extern BSP_OS_SEM sem_hy_collect_o2; extern BSP_OS_SEM sem_hy_collect_co; extern BSP_OS_SEM sem_hy_collect_water; extern BSP_OS_SEM sem_hy_collect_current; extern BSP_OS_SEM sem_hy_collect_well; extern BSP_OS_SEM sem_hy_collect_ch4; extern BSP_OS_SEM sem_hy_collect_h2s; extern BSP_OS_SEM sem_hy_collect_temphumi; /// 485操作共享资源锁 extern BSP_OS_SEM rs485_mutex; /// 485芯片收发控制--PTC9 #define RD485_SEND (drv_gpio_setbit(PORTC,5)) #define RD485_RECEIVE (drv_gpio_clrbit(PORTC,5)) /* /// 485片选控制盒--PTC5 #define CS_RS485_BAT_ENABLE (drv_gpio_clrbit(PORTC,5)) #define CS_RS485_BAT_DISABLE (drv_gpio_setbit(PORTC,5)) #define CS_485_J26_ENABLE (drv_gpio_clrbit(PORTC,8)) #define CS_485_J26_DISABLE (drv_gpio_setbit(PORTC,8)) #define CS_485_J28_ENABLE (drv_gpio_clrbit(PORTC,7)) #define CS_485_J28_DISABLE (drv_gpio_setbit(PORTC,7)) #define CS_485_J27_ENABLE (drv_gpio_clrbit(PORTC,6)) #define CS_485_J27_DISABLE (drv_gpio_setbit(PORTC,6)) #define J26_POWER_ON (drv_gpio_setbit(PORTD,9)) #define J26_POWER_OFF (drv_gpio_clrbit(PORTD,9))*/ #define SENSOR_POWER_ON (drv_gpio_setbit(PORTD,11)) #define SENSOR_POWER_OFF (drv_gpio_clrbit(PORTD,11)) /// 故障 #define UP_QUEUE_CODE_DATA 0 #define UP_QUEUE_CODE_CH4_COMMERROR 0x22 #define UP_QUEUE_CODE_CH4_DATAERROR 0x23 #define UP_QUEUE_CODE_O2_COMMERROR 0x24 #define UP_QUEUE_CODE_O2_DATAERROR 0x25 #define UP_QUEUE_CODE_CO_COMMERROR 0x26 #define UP_QUEUE_CODE_CO_DATAERROR 0x27 #define UP_QUEUE_CODE_A_CURR_COMMERROR 0x28 #define UP_QUEUE_CODE_A_CURR_DATAERROR 0x29 #define UP_QUEUE_CODE_B_CURR_COMMERROR 0x2A #define UP_QUEUE_CODE_B_CURR_DATAERROR 0x2B #define UP_QUEUE_CODE_C_CURR_COMMERROR 0x2C #define UP_QUEUE_CODE_C_CURR_DATAERROR 0x2D #define UP_QUEUE_CODE_D_CURR_COMMERROR 0x2E #define UP_QUEUE_CODE_D_CURR_DATAERROR 0x2F #define UP_QUEUE_CODE_WATER_COMMERROR 0x30 #define UP_QUEUE_CODE_WATER_DATAERROR 0x31 #define UP_QUEUE_CODE_H2S_COMMERROR 0x32 #define UP_QUEUE_CODE_H2S_DATAERROR 0x33 #define UP_QUEUE_CODE_WELL_COMMERROR 0x34 #define UP_QUEUE_CODE_WELL_DATAERROR 0x35 #define UP_QUEUE_CODE_TEMP_COMMERROR 0x36 #define UP_QUEUE_CODE_TEMP_DATAERROR 0x37 #define UP_QUEUE_CODE_HUMI_COMMERROR 0x38 #define UP_QUEUE_CODE_HUMI_DATAERROR 0x39 void init_rs485_uart(); void init_rs485_gpio(); void send_rs485_data(device_handle dev,const void *data, int len); void send_up_fault_queue_pack(char *type,u_int8_t code,char *fault_message); void init_comm_queue_module(); #endif