sggt/App/MODBUS/Inc/modbus_485.h

48 lines
1.1 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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