找回密码
 立即注册
查看: 188|回复: 6

HID+UART数据收发组合,不够64字节的IN包HID助手收不到

[复制链接]

70

主题

240

回帖

2656

积分

金牌会员

积分
2656
发表于 2026-10-12 07:49:31 | 显示全部楼层 |阅读模式

实验平台:8H8K64U
问题描述:

用HID+UART1实现数据收发功能,在用STC-ISP的HID助手测试期间发现UART能收到OUT包,不管发送窗口输入多少数据(小于64字节),UART数据接收窗口总是收到64字节。这个能理解,也不在这纠结。
问题是从UART的数据发送窗口给HID发送IN包时,不够64字节时,HID助手直接不输出任何数据(起初还以为是code有问题 :-( )。只有当UART的数据发送串口输入的数据不小于64字节时,HID助手的接收窗口才显示出来收到的数据。可我肯定置位了INIPRDY  bit位,为什么不足64字节的IN包HID助手收不到?
而当UART数据发送窗口输入了超过64字节的内容再发送时,HID助手能收到64字节的内容,但是几个数据包之后,出现最后3个字节是错的!
恳请看到的大佬施以援手,感谢先!
回复

使用道具 举报 送花

已绑定手机

123

主题

5133

回帖

1万

积分

超级版主

无情的代码机器

积分
11463
发表于 2026-10-12 09:12:05 | 显示全部楼层
接收方驱动决定的。不够64字节时用0填充。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

70

主题

240

回帖

2656

积分

金牌会员

积分
2656
 楼主| 发表于 2026-10-12 10:52:36 | 显示全部楼层
还有一点不清楚为什么在快速连续通过UART发送IN包时,几乎没法使用,很容易出错:

收发不正常了

收发不正常了

点评

用的哪个例程?此处应上传问题工程? HID+CDC? CDC收给HID转发? 中断与main循环同时处理?发一半中断给数据改乱了?  详情 回复 发表于 2026-10-12 15:35
回复

使用道具 举报 送花

已绑定手机

123

主题

5133

回帖

1万

积分

超级版主

无情的代码机器

积分
11463
发表于 2026-10-12 15:35:07 | 显示全部楼层
BeHa*** 发表于 2026-10-12 10:52
还有一点不清楚为什么在快速连续通过UART发送IN包时,几乎没法使用,很容易出错:

...

用的哪个例程?此处应上传问题工程?

HID+CDC?
CDC收给HID转发?
中断与main循环同时处理?发一半中断给数据改乱了?
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

70

主题

240

回帖

2656

积分

金牌会员

积分
2656
 楼主| 发表于 2026-10-12 16:44:34 | 显示全部楼层
erci*** 发表于 2026-10-12 15:35
用的哪个例程?此处应上传问题工程?

HID+CDC?

你好,是这样的:
USB转串口接收数据(如上图中的COM19,它不是USB-CDC设备,就是买的模块) --> 8H8K64U的UART1接收 --> HID读出并且在HID助手中显示出来。UART1和HID收发是中断方式实现,仿照USB-CDC例程中的轮询方式,比较读写指针的差异,触发HID的IN包发送。不足64字节的部分,用#00H填充到64字节。
本想实现收发“A ~ J”,但是不定时传进来“1 ~ 4/6”.就像这样:


不定时出错

不定时出错

点评

解释清了在干什么。 但是,此处应上传问题工程~。。。 大概率是软件代码问题。  详情 回复 发表于 2026-10-12 18:00
回复

使用道具 举报 送花

已绑定手机

123

主题

5133

回帖

1万

积分

超级版主

无情的代码机器

积分
11463
发表于 2026-10-12 18:00:34 | 显示全部楼层
BeHa*** 发表于 2026-10-12 16:44
你好,是这样的:
USB转串口接收数据(如上图中的COM19,它不是USB-CDC设备,就是买的模块) --> 8H8K64U ...

解释清了在干什么。
但是,此处应上传问题工程~。。。

大概率是软件代码问题。
三天不学习,赶不上刘少奇~
回复

使用道具 举报 送花

70

主题

240

回帖

2656

积分

金牌会员

积分
2656
 楼主| 发表于 2026-10-18 20:11:05 | 显示全部楼层
感谢关注,已解决。
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2026-11-7 13:02 , Processed in 0.083623 second(s), 75 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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