当前位置: 首页 > news >正文

CH9329芯片应用—简介

概述

CH9329是一款串口转USB HID设备功能芯片,根据不同的工作模式,HID设备可以识别为:USB键盘设备、USB鼠标设备或者自定义HID类设备。接收串口数据,并自动根据串口工作模式进行数据解析,解析完成后按照HID类设备规范,将数据打包通过USB口上传给计算机。

特点

芯片出厂内置固件程序,无需进行二次开发。

支持Windows/Linux/安卓/macOS等操作系统,使用系统内置的键盘、鼠标、HID设备驱动程序,无需额外安装。

提供4种工作模式(单一键盘/鼠标/自定义HID功能,或几个功能的复合)。

提供3种串口通信模式(协议传输模式/ASCII模式/透传模式)。

支持USB设备信息、串口通信地址、键盘回车符等信息的配置。

工作模式

工作模式功能说明
0USB键盘+USB鼠标+自定义HID
1USB键盘
2USB键盘+USB鼠标
3自定义HID

串口通信模式

串口通信模式功能说明
0协议传输模式
1ASCII模式
2透传模式

USB键盘功能

芯片可以实现标准USB键盘功能,USB键盘包含普通按键和多媒体按键。通过接收串口数据实现模拟键盘按键的效果。

该功能常用于:扫码枪、收银机、小键盘、远程控制等。

USB鼠标功能

芯片可以实现标准USB鼠标功能,USB鼠标包含相对鼠标和绝对鼠标。通过接收串口数据实现模拟鼠标的效果。

该功能常用于:硬件版按键精灵、远程控制等。

自定义HID功能

此自定义非彼自定义,这里的自定义实际上是指HID的subclass和protocol均为0的设备类型,并非是指用户可以自定义类别或HID报表格式等,把它比作一个不需要使用COM口的USB转串口设备功能更形象些。

该功能常用于:USB转串口双向数据透传(免驱HID方式),配合键鼠功能使用提供计算机的数据下传通道。

Q&A

Q:如何选择芯片工作模式?

A:各工作模式的适用场景:

模式0:多功能同时应用的场景(如使用键鼠功能时需要和计算机之前收发自定义数据)、需要多媒体键盘的场景、需要通过USB通道获取/配置芯片参数的场景。

模式1:使用单一USB键盘功能,并且不使用多媒体键盘,适用于不支持复合设备的老式计算机。

模式2:同时使用键盘和鼠标功能,且对Linux/Android/苹果等操作系统的鼠标兼容性更好。

模式3:使用单一USB自定义HID功能,配合计算机软件实现串口设备和计算机的双向数据收发,类似于USB虚拟串口(COM口)应用,区别是看不到COM虚拟端口,而是直接用系统HID API和设备完成交互。

Q:如何选择串口通信模式?

A:各串口通信模式的适用场景:

模式0:协议传输模式,此模式适用于至少2个功能同时应用的场景、需要通过串口通道获取/配置芯片参数的场景。该模式功能最齐全,在不完全确定产品功能的前提下,建议优先选用此模式作为默认模式。

模式1:ASCII码模式,为USB键盘功能量身定做的简版按键传输模式,该模式会将通常的可见ASCII字符直接转成按键的HID报表以及按键释放的HID报表,转换的字符主要包含:数字0~9,字母A~Z,空格和回车等。注:

不能转换特殊按键,如:F1~F12,方向键,Shift和Ctrl按键等。

模式2:透传模式,是指串口数据原封不动的通过USB打包上传给计算机,该模式适用于自定义HID模式,实现类似USB转虚拟串口的应用效果。

http://www.lryc.cn/news/207896.html

相关文章:

  • mysql查看插入记录与查看mysql实时查询和插入速度
  • 如何在VScode中让printf输出中文
  • qt hiRedis封装使用
  • 整理指定文件夹下的所有文件,以类树状图显示并生成对应超链接
  • 解密代理技术:保障隐私与网络安全
  • k8s中,“deployment”充当什么角色?有什么功能?
  • 深度学习:激活函数曲线总结
  • Elasticsearch-06-Elasticsearch Java API Client
  • 计算机网络第3章-运输层(2)
  • 【微信小程序】实现投票功能(附源码)
  • Pytorch入门实例的分解写法
  • Google单元测试sample分析(一)
  • requests 实践
  • UI设计公司成长日记2:修身及持之以恒不断学习是要务
  • 辅助驾驶功能开发-功能规范篇(23)-2-Mobileye NOP功能规范
  • React中如何提高组件的渲染效率
  • springboot+mybatis3.5.2动态查询某一字段在某一段时间内的统计信息(折线图)
  • 关于本地项目上传到gitee的详细流程
  • MarkDown详细入门笔记
  • 算法——贪心算法
  • 102.linux5.15.198 编译 firefly-rk3399(1)
  • 易点易动固定资产管理系统:多种盘点方式助力年终固定资产盘点
  • C# Winform编程(10)Chart图表控件
  • 群狼调研(长沙产品概念测试)|如何做新品上市满意度调研
  • Lua与C++交互
  • Ubuntu安装pyenv,配置虚拟环境
  • 【分布式技术专题】「分布式技术架构」MySQL数据同步到Elasticsearch之N种方案解析,实现高效数据同步
  • 什么是React中的高阶组件(Higher Order Component,HOC)?它的作用是什么?
  • NEFU离散数学实验3-递推方程
  • 如何为你的地图数据设置地图样式?