硬汉嵌入式论坛

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

[有问必答] 萌新求助-USB CDC相关

[复制链接]

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2025-12-1 18:58:10 | 显示全部楼层 |阅读模式
HC32L072单片机支持USB2.0,调用CDC库实现Modbus RTU 协议与主机通信,网上资料有些少,有大佬知道这样子实现好,还是直接加CH340直接用串口更直接了当(芯片成本嘉立创看1000个起步卖2块)
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-2 09:49:29 | 显示全部楼层
省事些可以用CH340,板子总成本能接受,就用外置串口芯片。

如果想内部USB实现虚拟串口,也可以的,你先把虚拟串口实现了,剩下移植MODBUS RTU好弄,移植时那里不清楚可以一起交流。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2025-12-4 17:59:46 | 显示全部楼层
eric2013 发表于 2025-12-2 09:49
省事些可以用CH340,板子总成本能接受,就用外置串口芯片。

如果想内部USB实现虚拟串口,也可以的,你先 ...

哥,我想请教一下,我是移完发送接收了,但是在用Modbus poll 测试通信时,错误率太高了,大概1000得错个2条报文
上位机TX: 01 03 00 00 00 04 44 09
正确帧应该是: 01 03 08 00 00 00 00 00 00 00 00 95 D7
但是接收到的错误帧是: 01 01 08 00 00 00 00 00 00 00 00 95 D7
咋回事啊.
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-5 10:40:16 | 显示全部楼层
HAI007 发表于 2025-12-4 17:59
哥,我想请教一下,我是移完发送接收了,但是在用Modbus poll 测试通信时,错误率太高了,大概1000得错个2条报 ...

直接找个串口助手发送完整帧,看下返回值。
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2025-12-5 11:26:14 | 显示全部楼层
eric2013 发表于 2025-12-5 10:40
直接找个串口助手发送完整帧,看下返回值。

大哥,我没太明白,modbus poll 和串口助手不是差不多吗, modbus poll 还可以检测错误帧,串口助手一张收发,比较难发现这样的错位帧呢
回复

使用道具 举报

1万

主题

7万

回帖

12万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
120428
QQ
发表于 2025-12-5 13:20:09 | 显示全部楼层
HAI007 发表于 2025-12-5 11:26
大哥,我没太明白,modbus poll 和串口助手不是差不多吗, modbus poll 还可以检测错误帧,串口助手一张收发, ...

主要是用来排除软件问题。如果一样,说明程序实现确实有问题
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
 楼主| 发表于 2025-12-11 16:36:51 | 显示全部楼层
eric2013 发表于 2025-12-5 13:20
主要是用来排除软件问题。如果一样,说明程序实现确实有问题

好的,这个问题是可以,一开始没反应过来,确定的程序的问题,因为同一个软件我用串口实现modbus协议,在poll那边测试几个小时一直都不会报错的
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-10 08:41 , Processed in 0.079164 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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