USB转GPIO应用方案

news/2024/5/18 14:33:38/文章来源:https://blog.csdn.net/WCH_TechGroup/article/details/126618599

概述

沁恒提供的多款USB转接系列芯片均提供GPIO引脚功能,各引脚支持独立的输出输入,GPIO功能的使用需要与计算机端厂商驱动程序和应用软件配合使用。各芯片的默认GPIO引脚状态有所区别,可查阅芯片技术手册或参考方案中附表。

型号

CH344Q

CH344L

CH347T

CH348L

CH348Q

CH9101U/H

USB

480M高速

全速

480M高速

480M高速

480M高速

全速

GPIO数量

16

12

8

48

12

6

封装

LQFP48

LQFP48

TSSOP20

LQFP100

LQFP48

SSOP28/

QFN32

IO电压

3.3V

3.3V

3.3V

3.3V/2.5V/1.8V

3.3V

5V/3.3V/

2.5V/1.8V

型号

CH9101R/Y

CH9102F

CH9102X

CH9103M

CH9104L

CH9326G

USB

全速

全速

全速

全速

全速

全速

GPIO数量

4

5

6

12

24

4

封装

QSOP16/QFN16

QFN24

QFN28

QFN40

LQFP48

SOP16

IO电压

5V/3.3V/

2.5V/1.8V

5V/3.3V/

2.5V/1.8V

3.3V

5V/3.3V/

2.5V/1.8V

3.3V

5V/3.3V

方案特点

  • 支持Windows/Linux/Android/macOS等操作系统。
  • 除支持GPIO功能外,芯片还提供高速UART/SPI/I2C/JTAG等硬件接口。
  • 支持全速和480Mbps高速USB接口,高速USB应用控制与响应速度更快,效率更高。
  • 支持GPIO bitbang方式,可软件模拟各类高速通信时序。
  • 支持USB设备VID/PID/字符串等内容配置。
  • 双电源设计,支持IO独立供电。

应用框图

应用演示

Windows平台GPIO应用演示

串口和设备信息栏

  • 串口号:设备管理器中对应目标设备的串口号,通过下拉箭头选择
  • 搜索WCH USB串口:主动搜索串口
  • 启动自动打开:开启设备USB插拔检测,成功检测到自动打开设备

GPIO信息和操作栏

  • 引脚名称:选中需要操作的GPIO
  • 功能:选中启用该GPIO
  • IO方向:选中设置GPIO为输出,未选中则设置为输入
  • 状态:输出方向->选中输出高电平,反之低电平。输入方向->读取为高电平时选中,反之为低电平
  • 读取芯片GPIO配置:获取当前芯片的GPIO使能状态、方向设置、引脚电平状态
  • 配置芯片GPIO:配置芯片的GPIO使能状态、方向、引脚电平
  • 设置GPIO电平:配置芯片的已使能且方向为输出的GPIO引脚电平
  • 获取GPIO电平:获取当前芯片的GPIO引脚电平状态

Linux平台GPIO应用演示

程序默认操作USB设备的字符设备节点:/dev/ttyCH343USB0,需要操作其他节点或设备可直接修改。演示程序打开设备后自动获取芯片型号和GPIO数量。

  • 选项“g”:获取当前芯片的GPIO使能状态、方向设置、引脚电平状态
  • 选项“o”:GPIO输出功能演示,按编号依次操作GPIO输出200ms的低电平
  • 选项“i”:获取当前芯片的GPIO引脚电平状态

Android平台GPIO应用演示

  • 使能:选中则启用该GPIO
  • IO方向:IN设置GPIO为输入,OUT则设置为输出
  • 电平:输出方向->选中输出高电平,反之低电平。输入方向->读取为高电平时选中,反之为低电平
  • 读取GPIO配置:获取当前芯片的GPIO使能状态、方向设置、引脚电平状态
  • 配置芯片GPIO:配置芯片的GPIO使能状态、方向、引脚电平
  • 设置GPIO电平:配置芯片的已使能且方向为输出的GPIO引脚电平
  • 获取GPIO电平:获取当前芯片的GPIO引脚电平状态

macOS平台GPIO应用演示

串口和设备信息栏

  • 设备序号:系统下目标设备的串口名称,通过下拉箭头选择
  • 连接/断开设备:自动检测串口设备,对设备进行连接/断开操作
  • 设备状态:显示当前设备信息
  • 扫描设备:主动搜索串口

GPIO信息和操作栏

  • 引脚名称:选中需要操作的GPIO
  • 功能:选中启用该GPIO
  • IO方向:选中设置GPIO为输出,未选中则设置为输入
  • 状态:输出方向->选中输出高电平,反之低电平。输入方向->读取为高电平时选中,反之为低电平
  • 读取芯片GPIO配置:获取当前芯片的GPIO使能状态、方向设置、引脚电平状态
  • 配置芯片GPIO:配置芯片的GPIO使能状态、方向、引脚电平
  • 设置GPIO电平:配置芯片的已使能且方向为输出的GPIO引脚电平
  • 获取GPIO电平:获取当前芯片的GPIO引脚电平状态

默认GPIO引脚状态表

CH344Q

编号

0

1

2

3

4

5

6

7

方向

I

O

I

O

I

O

I

O

电平

H

H

H

H

H

H

H

H

编号

8

9

10

11

12

13

14

15

方向

O

O

O

O

I

I

I

I

电平

H/L

H/L

H/L

H/L

H

H

H

H

CH344L

编号

0

1

2

3

4

5

6

7

方向

I

O

I

O

I

O

I

O

电平

H

H

H

H

H

H

H

H

编号

8

9

10

11

方向

O

O

O

O

电平

H/L

H/L

H/L

H/L

CH347T

编号

0

1

2

3

4

5

6

7

方向

I

O

I

I

I

O

I

O

电平

H

H

H

H

H

H/L

H

H

CH348L

编号

0

1

2

3

4

5

6

7

方向

I

O

I

O

I

O

I

O

电平

H

H

H

H

H

H

H

H

编号

8

9

10

11

12

13

14

15

方向

O

O

O

O

I

O

I

O

电平

H

H/L

H

H/L

H

H

H

H

编号

16

17

18

19

20

21

22

23

方向

I

O

I

O

O

O

O

O

电平

H

H

H

H

H

H

H

H

编号

24

25

26

27

28

29

30

31

方向

I

I

I

I

I

I

I

I

电平

H

H

H

H

H

H

H

H

编号

32

33

34

35

36

37

38

39

方向

I

I

I

I

I

I

I

I

电平

H

H

H

H

H

H

H

H

编号

40

41

42

43

44

45

46

47

方向

I

I

I

I

I

I

I

I

电平

H

H

H

H

H

H

H

H

CH348Q

编号

0

1

2

3

4

5

6

7

方向

I

O

I

O

I

O

I

O

电平

H

H

H

H

H

H

H

H

编号

8

9

10

11

方向

O

O

O

O

电平

H/L

H/L

H/L

H/L

CH9101U/H

编号

0

1

2

3

4

6

方向

O

O

O

O

O

I

电平

H

H

L

H/L

H/L

H

CH9101R/Y

编号

0

1

2

3

方向

O

O

O

I

电平

H

H

L

H

CH9102F

编号

0

1

2

3

4

方向

O

O

O

I

I

电平

H

H

L

H

H

CH9102X

编号

0

1

2

3

5

6

方向

O

O

O

I

I

I

电平

H

H

L

H

H

H

CH9103M

编号

0

1

2

3

4

5

6

7

方向

I

I

I

I

I

O

I

O

电平

H

H

H

H

H

H

H

H

编号

8

9

10

11

方向

O

O

O

O

电平

H

H

L

L

CH9104L

编号

00

01

02

03

04

05

方向

I

I

I

O

I

O

电平

H

H

H

H

H

H/L

编号

10

11

12

13

14

15

方向

I

I

I

O

I

O

电平

H

H

H

H

H

H/L

编号

20

21

22

23

24

25

方向

I

I

I

O

I

O

电平

H

H

H

H

H

H/L

编号

30

31

32

33

34

35

方向

I

I

I

O

I

O

电平

H

H

H

H

H

H/L

CH9326G

编号

0

1

2

3

方向

I

I

I

I

电平

H

H

H

H

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_4372.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于神经网络的图像识别,人工神经网络图像识别

如何通过人工神经网络实现图像识别 。 人工神经网络(ArtificialNeuralNetworks)(简称ANN)系统从20世纪40年代末诞生至今仅短短半个多世纪,但由于他具有信息的分布存储、并行处理以及自学习能力等优点,已经…

Jmeter(五) - 从入门到精通 - 测试计划(Test Plan)的元件(详解教程)

一.测试计划(Test Plan)要素 1.JMeter中一个脚本就是一个测试计划(Test Plan),也是一个管理单元。JMeter 的请求模拟与并发数(设置线程数,一个线程代表一个虚拟用户)设置都在脚本文件中一起设置。JMeter 不…

雨夜赶长路,房企必经的三场“价值战事”

今年上半年,地产行业一直在高压下运行。市场周期震荡叠加疫情等因素,为房企的销售、土拍、融资带来不确定性。 下半年以来,虽然不确定性和高压仍在,但市场有望恢复,下行趋势似乎已到拐点。 面对高压,不同…

安装 ZooKeeper 并配置服务

官网 访问官方下载页面安装 # 注意替换一下新的链接 curl -sSLO https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz tar -zxvf apache-zookeeper-3.8.0-bin.tar.gz -C /opt/ cd /opt ln -s zookeeper-3.4.10 ./zookeepercd zookeeper m…

微服务项目:尚融宝(8)(后端接口:积分等级CRUD)

认清现实,放弃幻想,准备斗争 一、积分等级列表接口 1、编写积分等级管理接口 在controller中添加admin包,添加AdminIntegralGradeController类CrossOrigin RestController RequestMapping("/admin/core/integralGrade") public cl…

Mac中无法运行旧版本印象笔记:版本太旧 你的本地印象笔记数据是由新版印象笔记管理

📢📢📢📣📣📣 哈喽!大家好,我是「奇点」,江湖人称 singularity。刚工作几年,想和大家一同进步🤝🤝 一位上进心十足的【Java ToB端大厂…

算法设计与分析作业——递归循环

用循环实现&#xff1a; 1、 求级数 求&#xff1a;1/1!-1/3!1/5!-1/7!…(-1)n1/(2n-1)! #include <bits/stdc.h> using namespace std; int main( ) {int i,n,j,sign1; float s,t1; cin>>n; s1; for(i2;i<n;ii1){t1; /*求阶乘*/for(j1;j<2*i-1;…

(11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】

&#xff08;1&#xff09;工业界推荐系统-小红书推荐场景及内部实践【业务指标、链路、ItemCF】 &#xff08;2&#xff09;工业界推荐系统-小红书推荐场景及内部实践【UserCF、离线特征处理】 &#xff08;3&#xff09;工业界推荐系统-小红书推荐场景及内部实践【矩阵补充、…

推荐10款好用的数据可视化工具,赶紧收藏

写在前面的话&#xff1a;没有十全十美的工具&#xff0c;但是如果确立&#xff08;可视化&#xff09;目标&#xff0c;就能找到合适的工具去实现。 数据分析过程可以分为&#xff1a;确定目标数据、数据采集、数据清洗、数据存储、数据分析、结果可视化及结果支持和决策等步骤…

文字转音频软件哪个好用?这几个方法你值得拥有

不知道你有没有发现一个现象&#xff0c;现在越来越多的人会把自己制作好的视频发布到各个社交平台上&#xff0c;分享自己的日常。有的人还会用自己的声音来做配音旁白&#xff0c;而有的人因为自己声音和视频不搭&#xff0c;会使用配音软件&#xff0c;把文字转换成语音。可…

FRED应用:真实玻片设置

简介 FRED具备通过光学系统模拟光线偏振的能力。光源可以是随机偏振、圆偏振或线偏振。过滤或控制偏振的光学元件&#xff0c;如双折射波片和偏振片&#xff0c;可以准确的模拟。FRED偏振模型中一些简单例子包括吸收二向色性和线栅偏振片&#xff0c;方解石半波片&#xff0…

最近在学日语

对比了一些B站的日语教学视频,觉得这个挺不错: 视频在这里昨天开始学的,50音图平假名全记住了,片假名还有点磕巴。 现在开始学语法了。 【动力这种东西,真是来得莫名奇妙。】手打一遍50音图,练习~ (键盘手打刻意练习了一下,熟练多了。) a i u e o あ ア い イ う…

Magisk如何针对性隐藏Root避免被检测

如果这篇文章对你有帮助,欢迎点赞关注收藏三联,这对我有帮助,谢谢小伙伴们,你们的支持是我认真分享的动力。 关于Magisk有一个有趣的故事,Magisk的作者老吴,国内人,妥妥的大牛,主攻Root领域,目前在Google里卖弄当工程师,在去Google之前,老吴还去苹果公司实习过,就在…

HTML5新特性 day_05(8.11)上传头像、webSocket

一、文件上传经典业务流程 -- 上传头像 在注册业务&#xff0c;填写表单的过程中&#xff0c;需要选择头像&#xff0c;上传头像&#xff0c;填写基本信息&#xff08;用户名、密码等&#xff09;后&#xff0c;点击注册按钮&#xff0c;完成用户注册。当下次登录时需要看到以…

janus videoroom之媒体录制

janus videoroom为音视频会议&#xff0c;内部自创建一个房间号为1234的会议&#xff0c;读者可以配置会议召开时&#xff0c;录制会议的视频和语音&#xff0c;录制文件的后缀名为mjr&#xff0c;此为janus自定义的一种媒体封装格式&#xff0c;个人理解全称是meetecho janus …

我换了一圈儿,又回来了!

C语言 C语言应该很多人都学过&#xff0c;因为计算机、电子通信、自动化一类的专业基本上都要学习它。 然而&#xff0c;学习的人多&#xff0c;但用它来实际开发项目的人却少之又少。 这是为什么呢&#xff1f; 在我看来&#xff0c;主要有两个原因。 第一&#xff0c;难度…

配置dns服务的正反向解析

服务端 安装包 dnf install bind bind-utils -y systemctl stop firewalld.service 关闭防火墙 setenforce 0 关闭selinux vim /etc/named.conf 配置内容 options { listen-on port 53 { 192.168.182.129; }; directory “/var/named”; allow-query { any; }; }; zone …

Android中Spi机制的使用及源码原理解析

使用 定义接口 public interface IFunctionService {void test(); }定义接口实现,这里实现了三个实现类。 public class FunctionService1 implements IFunctionService {private static final String TAG "FunctionService1";Overridepublic void test() {Log.e(…

Shader Graph的用法初探

简单有深度的东西可以用Shader&#xff0c;但酷炫的效果离不开这个好用东西。 参考文章&#xff1a;unity shader可视化工具——Shader Graph Unity ShaderGraph使用教程与各种特效案例&#xff1a;Unity2022 我自己装了两个包shader Graph和Universal RP&#xff0c;&#x…

unity core-prefab

添加prefab&#xff1a; 添加一个组件到prefab&#xff0c;需要通过将组件对应的对象存在磁盘种后&#xff0c;再标记为prefab的一个部分。这部分在prefab.cpp中 prefab删除 prefab删除一个对象的方式是分两种情况&#xff0c;第一种就是这个对象再prefab中还存在则通过放到P…