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

特点
芯片出厂内置固件程序,无需进行二次开发。
支持Windows/Linux/安卓/macOS等操作系统,使用系统内置的键盘、鼠标、HID设备驱动程序,无需额外安装。
提供4种工作模式(单一键盘/鼠标/自定义HID功能,或几个功能的复合)。
提供3种串口通信模式(协议传输模式/ASCII模式/透传模式)。
支持USB设备信息、串口通信地址、键盘回车符等信息的配置。
工作模式
| 工作模式 | 功能说明 |
| 0 | USB键盘+USB鼠标+自定义HID |
| 1 | USB键盘 |
| 2 | USB键盘+USB鼠标 |
| 3 | 自定义HID |
串口通信模式
| 串口通信模式 | 功能说明 |
| 0 | 协议传输模式 |
| 1 | ASCII模式 |
| 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转虚拟串口的应用效果。
相关文章:
CH9329芯片应用—简介
概述 CH9329是一款串口转USB HID设备功能芯片,根据不同的工作模式,HID设备可以识别为:USB键盘设备、USB鼠标设备或者自定义HID类设备。接收串口数据,并自动根据串口工作模式进行数据解析,解析完成后按照HID类设备规范…...
mysql查看插入记录与查看mysql实时查询和插入速度
我真正关心的数据 比如一秒钟到底能插入多少行数据?慢查询有多少? 慢是一个相对概念,慢的绝对值时间是可以设置的,例如我设置long_query_time为10秒,那么但凡超过10秒的查询都可以认为是慢查询查询操作的超时时间mysql中系统变量什么意思?怎么查看系统变量? show varia…...
如何在VScode中让printf输出中文
如何在VScode中让printf输出中文? 1、在“Visual Studio Code”图标上右击,弹出对话框。见下图: 2、点击“以管理员身份运行”,得到下图: 3、点击“UTF-8”按钮,得到下图: 4、点击“通过编码重…...
qt hiRedis封装使用
qt Redis使用...
整理指定文件夹下的所有文件,以类树状图显示并生成对应超链接
最近在整理家里学习资料的时候,由于年代久远,找不到我想要找的文件,windows文件搜索速度感觉太慢。于是想要生成一份类似文件索引的东西来显示所有资料,让我可以快速的找到需要的资料路径 直接上代码 import os import datetim…...
解密代理技术:保障隐私与网络安全
在当今信息时代,网络代理技术是维护隐私和增强网络安全的关键工具。本文将深入研究Socks5代理、IP代理的应用,以及它们在网络安全、爬虫开发和HTTP协议中的关键作用。 引言 随着互联网的不断扩张,我们的在线活动变得日益复杂,也…...
k8s中,“deployment”充当什么角色?有什么功能?
在Kubernetes中,"Deployment"是一种控制器(Controller),它充当了以下主要角色和功能: 应用程序部署和管理: Deployment用于定义和管理应用程序的部署。它允许您指定应用程序的副本数(…...
深度学习:激活函数曲线总结
深度学习:激活函数曲线总结 在深度学习中有很多时候需要利用激活函数进行非线性处理,在搭建网路的时候也是非常重要的,为了更好的理解不同的激活函数的区别和差异,在这里做一个简单的总结,在pytorch中常用的激活函数的…...
Elasticsearch-06-Elasticsearch Java API Client
前言 简介 在 Elasticsearch7.15版本之后,Elasticsearch官方将它的高级客户端 RestHighLevelClient标记为弃用状态。同时推出了全新的 Java API客户端 Elasticsearch Java API Client,该客户端也将在 Elasticsearch8.0及以后版本中成为官方推荐使用的客…...
计算机网络第3章-运输层(2)
可靠数据传输原理 可靠数据传输依靠数据在一条可靠信道上进行传输。 TCP也正是依靠可靠信道进行传数据,从而数据不会被丢失。 而实现这种可靠数据传输服务是可靠数据传输协议的责任 构造可靠数据传输协议 1.经完全可靠信道的可靠数据传输:rdt1.0 在…...
【微信小程序】实现投票功能(附源码)
一、Vant Weapp介绍 Vant Weapp 是一个基于微信小程序的组件库,它提供了丰富的 UI 组件和交互功能,能够帮助开发者快速构建出现代化的小程序应用。Vant Weapp 的设计理念注重简洁、易用和高效,同时提供灵活的定制化选项,以满足开发…...
Pytorch入门实例的分解写法
数据集是受教育年限和收入,如下图 代码如下 import torch import numpy as np import matplotlib.pyplot as plt import pandas as pddata pd.read_csv(./Income.csv)X torch.from_numpy(data.Education.values.reshape(-1,1).astype(np.float32)) Y torch.from_numpy(data…...
Google单元测试sample分析(一)
本文开始从googletest提供的sample案例分析如何使用单元测试, 代码路径在googletest/googletest/samples/sample1.unittest.cc 本文件主要介绍EXPECT*相关宏使用 EXPECT_EQ 判断是否相等 EXPECT_TRUE 是否为True EXPECT_FALSE 是否为False TEST(FactorialTest, N…...
requests 实践
Requests 常用参数 method: 请求方式 get,或者 post,put,delete 等 url : 请求的 url 地址 接口文档标注的接口请求地址 params:请求数据中的链接,常见的一个 get 请求,请求参数都是在 url 地址…...
UI设计公司成长日记2:修身及持之以恒不断学习是要务
作者:蓝蓝设计 要做一个好的UI设计公司,不仅要在能力上设计能力一直(十几年几十年)保持优秀稳定的保持输出,以及心态的平和宽广。创始人对做公司要有信心,合伙人之间要同甘共苦,遵守规则,做好表…...
辅助驾驶功能开发-功能规范篇(23)-2-Mobileye NOP功能规范
5.2 状态机要求 5.2.1 NOP/HWP 状态机 NOP/HWP状态机如下所示: 下表总结了这些状态: 状态描述Passive不满足功能条件,功能无法控制车辆执行器。Standby满足功能条件。该功能不是由驾驶员激活的。功能不控制车辆执行器。Active - Main功能由驾驶员激活。功能是控制…...
React中如何提高组件的渲染效率
一、是什么 react 基于虚拟 DOM 和高效 Diff算法的完美配合,实现了对 DOM最小粒度的更新,大多数情况下,React对 DOM的渲染效率足以我们的业务日常 复杂业务场景下,性能问题依然会困扰我们。此时需要采取一些措施来提升运行性能&…...
springboot+mybatis3.5.2动态查询某一字段在某一段时间内的统计信息(折线图)
需求: 动态查询某一统计字段在一段时间内的统计折线图信息 controller层 ApiOperation(value "getStatisticDetail", notes "统计折线图")GetMapping("/detail")ResponseStatus(HttpStatus.OK)AccessLogAnnotation(ignoreRequestA…...
关于本地项目上传到gitee的详细流程
如何上传本地项目到Gitee的流程: 1.Gitee创建项目 2. 进入所在文件夹,右键点击Git Bash Here 3.配置用户名和邮箱 在gitee的官网找到命令,注意这里的用户名和邮箱一定要和你本地的Git相匹配,否则会出现问题。 解决方法如下&…...
MarkDown详细入门笔记
本帖整理了MarkDown的入门学习笔记~ 一.介绍 Markdown 是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。 诸如微信公众平台、CSDN博客、还有Typora中写文档的部分,均涉及到MD的功能~ 它…...
国产AI Agent爆发:从“龙虾风暴”看企业级Agent工具选型与实战指南
摘要: 作为一名在企业架构领域摸爬滚打15年的老兵,我见证了从SOA到微服务,再到如今AI原生架构的数次演进。2026年3月底,国内AI圈掀起的“龙虾风暴”标志着Agent工具正式进入爆发期。然而,对于IT负责人和CIO而言&#x…...
深入解析Supabase与Flutter的用户认证问题
深入解析Supabase与Flutter的用户认证问题 当我们使用Flutter开发移动应用时,用户认证是一个不可或缺的部分。而Supabase作为一个开源的数据库和后端服务,提供了强大的功能来帮助我们实现这个需求。然而,在集成过程中,我们可能会遇到一些问题。本文将详细探讨如何解决在Su…...
05_Cursor之自定义规则与配置
关键字:.cursorrules, 自定义规则, AI模型配置, 文档集成, 终端集成, Cursor配置 05_Cursor之自定义规则与配置 Cursor知识体系 Cursor知识体系(续) | -- 配置定制层 | -- .cursorrules规则文件 | | -- 项目编码规范 | | -- 风格指…...
第 6 次执行后,PostgreSQL 执行计划为何突变?
引言 在 PostgreSQL 中,预处理语句通常用于提升性能并防止 SQL 注入。但一个不易察觉的行为是:查询规划器会在执行达到特定次数后自动改变执行计划。 这种变化往往令人困惑——SQL 本身未发生变化,执行计划却突然发生切换,有时甚至…...
Memfit AI 渗透测试智能体,到底能不能打?
深度测评:Memfit AI 渗透测试智能体,到底能不能打? 写在前面:这篇文章我写了整整一周,从安装部署到实际测试,把 Memfit AI 这个号称"下一代 AI 渗透测试平台"的工具从头到尾摸了一遍。先说结论&a…...
STM32智能展柜控制系统设计与实现
1. 项目概述在博物馆文物保存领域,环境参数的精确控制一直是个技术难点。我最近完成了一个基于STM32的智能展柜控制系统项目,这套方案能够实时监测并调节展柜内的温湿度及光照强度,为珍贵文物提供最佳保存环境。相比传统的人工监测方式&#…...
嵌入式IRC客户端库IrcBot:轻量、事件驱动、零malloc
1. 项目概述IrcBot 是一个面向嵌入式与轻量级系统设计的 IRC(Internet Relay Chat)协议客户端库,其核心目标并非替代桌面级 IRC 客户端(如 HexChat、WeeChat),而是为资源受限的嵌入式设备提供可裁剪、可集成…...
网安工程师好就业吗?零基础转行如何操作?
“ 就业是好就业的,但是太卷了,因为它本身就是个门槛低,技术高的工作。如果决定要走这条路,那么一定要下定决心好好学,学出来了这下半辈子就不用愁了。” 网络安全,这个在现代社会愈发受到重视的领域&#…...
Phantom Stealer 凭证窃取机制分析与防御体系研究
摘要 Phantom Stealer 作为 2025 年下半年出现的新型多功能信息窃取木马,以多阶段感染、无文件驻留、强反检测与全维度凭证窃取为核心特征,通过伪装合法软件、脚本混淆、进程注入、 Heaven’s Gate 技术规避等手段,精准窃取浏览器密码、Cooki…...
打破设备壁垒:VR-Reversal实现3D内容自由视角全设备适配
打破设备壁垒:VR-Reversal实现3D内容自由视角全设备适配 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_…...
