找回密码
 立即注册
查看: 231|回复: 28

为什么用STC8H2K08U做USB转TTL然后用485芯片做USB转485超时时间不能设置少了

[复制链接]
  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-01-14 00:01:26

52

主题

419

回帖

497

积分

中级会员

积分
497
发表于 2026-1-5 10:33:48 | 显示全部楼层 |阅读模式
为什么用STC8H2K08U做USB转TTL然后用485芯片做USB转485超时时间不能设置少了
我现在设置为20 30 50 MS都会接收分包。只有设置为100MS时才会整包接收   现在我用的是1单个串口,如果用两个的应该只前用过也是不行。
求教有没有办法解决。发送到USB转485上没有问题。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-01-14 00:01:26

52

主题

419

回帖

497

积分

中级会员

积分
497
发表于 2026-1-5 10:37:13 | 显示全部楼层
发送的时候波特率不能超115200.如果超了发送出去的是乱码。
接收的时候什么波特率也能收到。就是超时时间不能低于100MS  如30 50 ms
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:670
  • 最近打卡:2026-01-13 06:58:22
已绑定手机

93

主题

7083

回帖

1万

积分

超级版主

积分
13343
发表于 2026-1-5 11:29:10 | 显示全部楼层
看看原理图
官方固件用8H2K08U容量不够,必须要用8H2K12U
你的是自己写的程序?
TXD要设置推挽,弱上拉上升沿速度不够
分包50ms不能正常显示,100ms能,说明数据包发送时间大于50ms,可以设置100ms
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-01-14 00:01:26

52

主题

419

回帖

497

积分

中级会员

积分
497
发表于 2026-1-5 11:35:42 来自手机 | 显示全部楼层
DebugLab 发表于 2026-1-5 11:29
看看原理图
官方固件用8H2K08U容量不够,必须要用8H2K12U
你的是自己写的程序?

St c 8 h 2 k 08 u容量不够这个事儿我还真没不知道。回头我再看一下用的是08u还是12u
我说的超时时间不能设置少了,指的就是串口软件接收这边,超时时间不能设置少了,不能低于100毫秒,低于100毫秒,他收到的数据就会分包
这个意思也就是说嗯stc8h接收到485过来的数据以后,没有及时的发送到电脑上。或者说发送的过程中超过了100毫秒。导致电脑分包了。应该说是设置100毫秒就没有问题,但是如果设置的时间比如是30毫秒就会分包,50毫秒也会
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-01-14 00:01:26

52

主题

419

回帖

497

积分

中级会员

积分
497
发表于 2026-1-5 11:38:26 来自手机 | 显示全部楼层
qepuemc 发表于 2026-1-5 11:35
St c 8 h 2 k 08 u容量不够这个事儿我还真没不知道。回头我再看一下用的是08u还是12u
我说的超时时间不能 ...

按照正常的时间,假如设置在串口接收中为5毫秒超时的话。完全接收完了再发送出去的话。大约超时时间也不需要10毫秒。而且实际情况应该是接收到了一个数据就会发送出去。这个时候这个单片机的作用就是无脑转换。按理来说时间不应该这么长。
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-01-14 00:01:26

52

主题

419

回帖

497

积分

中级会员

积分
497
发表于 2026-1-5 11:59:57 | 显示全部楼层
111.png
222.png
现在测试就是50ms可以。这样行的应该是我把10K电阻改成了1K 可能有关系。
然后我又试了一下还是不行。50MS间隔不行。还是会分包。
[11:59:03.940]收←◆00 00 01 34 09
[11:59:03.972]收←◆32 04 00 00 00 01 34 09
[11:59:04.038]收←◆32 04 00 00 00 01 34 09
[11:59:04.098]收←◆32 04
[11:59:04.125]收←◆00 00 00 01 34 09
[11:59:04.161]收←◆32 04 00 00 00 01 34 09
[11:59:04.226]收←◆32 04 00 00 00 01 34 09
[11:59:04.290]收←◆32 04 00

点评

用ISP软件的串口助手试试 [attachimg]127853[/attachimg]  详情 回复 发表于 2026-1-5 12:59
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:670
  • 最近打卡:2026-01-13 06:58:22
已绑定手机

93

主题

7083

回帖

1万

积分

超级版主

积分
13343
发表于 2026-1-5 12:59:14 | 显示全部楼层
qepu*** 发表于 2026-1-5 11:59
现在测试就是50ms可以。这样行的应该是我把10K电阻改成了1K 可能有关系。
然后我又试了一下还是不行。50M ...

用ISP软件的串口助手试试
截图202601051259039385.jpg

回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:116
  • 最近打卡:2026-01-14 00:24:27

21

主题

184

回帖

1759

积分

金牌会员

积分
1759
发表于 2026-1-5 13:50:03 | 显示全部楼层
这个问题之前不是已经发过了吗?
你用的官方程序还是自己写的程序?
回复

使用道具 举报 送花

  • 打卡等级:以坛为家III
  • 打卡总天数:621
  • 最近打卡:2026-01-14 00:01:26

52

主题

419

回帖

497

积分

中级会员

积分
497
发表于 2026-1-5 16:29:29 来自手机 | 显示全部楼层
health 发表于 2026-1-5 13:50
这个问题之前不是已经发过了吗?
你用的官方程序还是自己写的程序?

这个问题之前好像还真发过
我的确没有最终的解决方法
这个既不是我写的程序,也不是你说的官方程序
这个是把usb口给剪去一个的程序
回复

使用道具 举报 送花

  • 打卡等级:常住居民III
  • 打卡总天数:116
  • 最近打卡:2026-01-14 00:24:27

21

主题

184

回帖

1759

积分

金牌会员

积分
1759
发表于 2026-1-5 16:48:36 | 显示全部楼层
那就看这个程序是怎么写的了。
STC8H2K08U只是一个MCU,需要写程序来实现转发,接串口接收到的数据通过USB转发给上位机。
是收到一个字节就转发,还是凑够一定字节数?或者超时一定时间,或者等待什么条件,这都是要由程序实现的。

电脑串口接收程序超时分包,是超过一定时间没有收到新数据,就判断为一包结束。
用20ms超时时间参数时会分包,用100ms超时参数不分包,那就说明一帧数据包内字节与字节之间的间隔时间有超过20ms的情况。
回复

使用道具 举报 送花

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

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-1-14 06:16 , Processed in 0.133357 second(s), 90 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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