#ifndef _MODBUS_485_H_ #define _MODBUS_485_H_ #include "apps_gather.h" typedef enum { TRANSPARENT_WAIT = 0, TRANSPARENT_RECIEVE_START, TRANSPARENT_RECIEVE_FINISHED, TRANSPARENT_TRANSMIT_END }TRANS_PROCESS; extern uint32_t tick_start; extern uint32_t tick_middle; extern uint32_t tick_end; //extern uint32_t trans_log_rx; extern uint32_t trans_log_tx; extern uint8_t sig2slave_step; extern TRANS_PROCESS st_flag; void parse_scom_485(st_scom *scom); //透传,DMA发送,与发送回调组合使用 void transparent_tim(void); void trans_hart2pc(void); void trans_pc2hart(void); void trans_ble2pc(void); void trans_pc2ble(void); void trans_modbus_pc2sig(void); //SIG作为主设备,向外发送数据之后,等待从机应答,持续一段时间(超时时间)无数据后停止接收,并对收到的数据进行解析 void trans_modbus_sig2slave(void); //DMA接收只有半满中断、空闲中断和完成(溢出)中断,因此用以下函数尝试进行捕获 //该函数放置于TIM2的中断内,1ms为周期,尝试捕获前3帧 void trans_start_capture(void); uint8_t trans_enable_check(st_scom *scom); #endif