951319804 发表于 2023-3-22 19:37:15

C语言求教,代码这样写的目的是啥?

#ifdef        MODBUS_C

volatile 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[];

eric2013 发表于 2023-3-23 00:46:21

看不出来你这个代码有什么作用。

ihavedone 发表于 2023-3-23 09:40:56

目测这是 MODBUS 中的几行代码

jackjeanxp 发表于 2023-3-23 14:22:22

部分出自 freemodbus 应用层移植模板,猜测为了实现双从机应用,魔改了原装的回调函数
如果定义了 MODBUS_C ,就声明缓存变量和两个魔改的回调函数,没定义 MODBUS_C ,就沿用原装的缓存变量
freemodbus 目前在 github 上可以下载
页: [1]
查看完整版本: C语言求教,代码这样写的目的是啥?