硬汉嵌入式论坛

 找回密码
 立即注册
查看: 889|回复: 3
收起左侧

[有问必答] C语言求教,代码这样写的目的是啥?

[复制链接]

12

主题

22

回帖

58

积分

初级会员

积分
58
发表于 2023-3-22 19:37:15 | 显示全部楼层 |阅读模式
#ifdef        MODBUS_C

volatile uint16_t   usRegHoldingBuf[REG_HOLDING_NREGS]={0,0};
volatile uint16_t   usRegInputBuf[REG_INPUT_NREGS]={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[];

回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106771
QQ
发表于 2023-3-23 00:46:21 | 显示全部楼层
看不出来你这个代码有什么作用。

回复

使用道具 举报

58

主题

267

回帖

446

积分

高级会员

积分
446
发表于 2023-3-23 09:40:56 | 显示全部楼层
目测这是 MODBUS 中的几行代码
回复

使用道具 举报

3

主题

11

回帖

20

积分

新手上路

积分
20
发表于 2023-3-23 14:22:22 | 显示全部楼层
部分出自 freemodbus 应用层移植模板,猜测为了实现双从机应用,魔改了原装的回调函数
如果定义了 MODBUS_C ,就声明缓存变量和两个魔改的回调函数,没定义 MODBUS_C ,就沿用原装的缓存变量
freemodbus 目前在 github 上可以下载
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-5 13:25 , Processed in 0.217892 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表