C语言求教,代码这样写的目的是啥?
#ifdef MODBUS_Cvolatile uint16_t usRegHoldingBuf={0,0};
volatile uint16_t usRegInputBuf={0,0};
volatile uint8_t Usart1ModbusSlaveAddress=1;
volatile uint8_t Usart2ModbusSlaveAddress=2;
void Usart1ModbusReceiveFrameProcessfunction(void);
void Usart2ModbusReceiveFrameProcessfunction(void);
#else
extern volatile uint16_t usRegHoldingStart;
extern volatile uint16_t usRegHoldingBuf[];
extern volatile uint16_t usRegInputStart;
extern volatile uint16_t usRegInputBuf[];
看不出来你这个代码有什么作用。
目测这是 MODBUS 中的几行代码 部分出自 freemodbus 应用层移植模板,猜测为了实现双从机应用,魔改了原装的回调函数
如果定义了 MODBUS_C ,就声明缓存变量和两个魔改的回调函数,没定义 MODBUS_C ,就沿用原装的缓存变量
freemodbus 目前在 github 上可以下载
页:
[1]