• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于字符通过USB口发送到电脑

yuzhenhu 2018-10-18 浏览量:732
项目需要USB键盘口把数据(字符串)发送到PC,实现了HID键盘口。如何将字符串转换为对应的键盘码。有没有相关资料,建议?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 您的意思是,已经实现了HID键盘?

    如果是那样的话,您应该对键盘码有所了解。

    做一个可显示的字符对应键盘码的表是很容易的事。

    至于如何发送一个字符串——

    键盘向计算机发送的短报文格式相信你已经了解了,正常输入字符串,每次只会有一个键触发(Shift和字符同时按下,是靠标志位)。输出一个字符,间隔几十毫秒,再输出下一个字符。

    • 发布于 2018-10-18
    • 举报
    • 评论 1
    • 0
    • 0
yuzhenhu 回复了 Spirit:我的使用环境是 , 设备上传一个字符给我。我需要打包通过我的设备发送到电脑上面的记事本里面。这里面的转换关系就是我现在需要做的 回复

其他答案 数量:9
  • 键盘发送给PC的数据每次8个字节
    BYTE1 BYTE2 BYTE3 BYTE4 BYTE5 BYTE6 BYTE7 BYTE8
    定义分别是:
    BYTE1 --
           |--bit0:   Left Control是否按下,按下为1
           |--bit1:   Left Shift  是否按下,按下为1
           |--bit2:   Left Alt    是否按下,按下为1
           |--bit3:   Left GUI    是否按下,按下为1
           |--bit4:   Right Control是否按下,按下为1 
           |--bit5:   Right Shift 是否按下,按下为1
           |--bit6:   Right Alt   是否按下,按下为1
           |--bit7:   Right GUI   是否按下,按下为1
    BYTE2 -- 暂不清楚,有的地方说是保留位
    BYTE3--BYTE8 -- 这六个为普通按键
    键盘经过测试。
    例如:键盘发送一帧数据   02 00 0x04 0x05 00 00 00 00
    表示同时按下了Left Shift + ‘a’+‘b’三个键
    • 发布于2018-10-18
    • 举报
    • 评论 1
    • 0
    • 0
yuzhenhu 回复了 Spirit :这个我是了解的,主要对于字符串的转换,有没有相关的资源算法 回复

  • 如果是定制设备,这其实这个是电脑驱动端的问题,只要能区分,然后电脑端驱动读取转换输出一个标准的键值就好啦。
    • 发布于2018-10-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 可以用ch9328芯片,便宜好用,外围元件少
    • 发布于2018-10-18
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个字符的解析算法可以自己定义,用数据位编码来进行解析
    • 发布于2018-10-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 你可以自己定义一个协议来进行编码和解码的操作
    • 发布于2018-11-12
    • 举报
    • 评论 0
    • 0
    • 0

  • 是要按标准的键盘解码,还果自己定义的呢,可以查看USB键盘的规范
    • 发布于2018-11-13
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个是不能自己定义的,要按照协议标准来设计
    • 发布于2018-11-17
    • 举报
    • 评论 0
    • 0
    • 0

  • 主要是你的协议层要找相关的协议,要按照标准的协议传输
    • 发布于2018-11-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 要根据HID协议来处理,不能直接传输数据
    • 发布于2018-11-22
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

关于字符通过USB口发送到电脑