Rtthread学习笔记(十七)添加freemodbus主机遇到写数据成功,读数据失败

在遇到Modbus主机读取数据失败的问题时,通过调整波特率从115200至19200解决了通讯问题。文章详细记录了在不同波特率下主机与从机的通讯状态,及由此引发的错误代码变化。

解决办法:将原来115200的波特率修改为19200,然后主机读数据成功。

一、modbus主机读数据失败现象

添加freemodbus主机的时候遇到了奇怪的问题,记录下来。先说明一下情况,前两天按照RT例程把freemodbus主机移植完毕,添加modbus主机
并且与上位机modbus slave从机的写指令(10)通讯成功,把数据实时写进了上位机从机,然后想起来忘记测试读指令(03)通讯是否成功,便测试了一下,结果通讯不成功,代码效果如下:
在这里插入图片描述

extern USHORT usMRegHoldBuf[MB_MASTER_TOTAL_SLAVE_NUM][M_REG_HOLDING_NREGS];
static void send_thread_entry(void *parameter)
{
   
   
    eMBMasterReqErrCode error_code = MB_MRE_NO_ERR;
    rt_uint16_t error_
评论 19
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值