CH341的串口方式支持WINDOWS 98/ME/2000/XP/Vista/Linux,提供相关驱动程序,
CH341的USB转串口支持大多数常用的串口监控及调试工具程序。
驱动安装方法:
1. 标准INF文件安装方法
WINDOWS提示找到新硬件,指定驱动程序所在目录DRIVER,自动安装驱动,
如果WINDOWS没有提示找到新硬件,那么在设备管理器的硬件列表中,
选择带问号的USB设备,更新驱动程序并指定目录。
2. 使用驱动程序安装工具
直接使用CH341SER.EXE安装包,可以安装/升级/卸载驱动程序,
该方法更适用于最终用户。
CH341串口使用方法:
CH341实现USB转串口,在逻辑功能方面的使用方法与普通计算机串口相同。
与普通计算机串口的区别:
CH341提供的是仿真串口,所以不支持串口本身的纯硬件操作,例如I/O操作,
普通计算机串口是静态设备,而CH341串口是动态设备,理论上随时会断开,
CH341的附加功能(下面有介绍):读取外部串行EEPROM,支持更高波特率。
提供“模块调试”工具,启动后将“类型”选择为“手工输入发送”,
打开串口后就可以用于CH341串口或者普通串口的输入输出监控及收发调试。
注意事项:
CH341串口是即插即用的USB设备,正在使用CH341串口进行数据传输的过程中,
不可以将其断开(断开是指从USB插座中取出CH341或者关闭CH341的电源),
也就是说,必须在应用程序关闭该串口后,CH341串口才可以从USB插座中拔出。
如果在应用程序使用CH341串口的过程中,CH341串口设备从USB插座中断开,
那么应用程序应该尽快关闭CH341串口并退出(关闭及退出可能需要数秒时间)。
如果在CH341串口通讯过程中发生错误,极有可能是CH341串口已经物理断开,
所以在检测到错误后建议关闭CH341串口,稍等两秒后再重新打开串口通讯。
采用设备事件通知的方法可以及时了解CH341串口设备的连接与断开,
从而使串口应用程序能够及时打开和关闭CH341串口。
串口动态链接库CH341PT.DLL提供了API,可以监视CH341串口插拔事件,
可以搜索和识别CH341串口等,具体需参考CH341PT.H文件。
如果通讯波特率较高,建议设置较大的缓冲区,尤其在WINDOWS 98/ME下,
线程调度能力和USB实时性都比WINDOWS 2000/XP差,如果串口接收缓冲区较小,
那么在通讯波特率较高时,接收大量数据会导致串口缓冲区溢出而丢弃数据。
由于底层的USB是将多个字节组成数据包后安插到各个1mS帧中进行传输,
所以有可能将串口收发的紧靠着的两个字节实际分割在两个USB数据包甚至
两个USB帧中,在最坏情况下这两个字节在时间上有可能相隔1mS甚至2mS。
*******************************************************************************
如果需要速率控制(流控制),建议不要使用MODEM信号控制,因为其效率较低,
建议用CH341的TEN#和RDY#实现纯硬件的速率控制,其中TEN#为输入,RDY#为输出,
当TEN#输入为低电平时允许CH341从串口发送数据,高电平时CH341将暂停发送数据,
当RDY#输出为低电平时说明CH341可以接收串口数据,高电平说明CH341正忙而不能接收。
如果计算机及单片机不忙,或者波特率在115200bps以下时,通常不需要速率控制,
如果波特率再高或者计算机及单片机较忙,才需要考虑采用TEN#和RDY#进行速率控制。
CH341用于串口时,其硬件最简单时只需要三根线:GND,TXD,RXD,
可以直接与单片机相连,波特率支持从50bps到2Mbps,例如MCS51单片机:
CH341引脚 MCS51单片机引脚
GND <=> GND
TXD <=> RXD
RXD <=> TXD
TEN接GND
与单片机相连时,通常将CH341的TEN#引脚直接接地,总是允许CH341发送数据,
如果预算单片机可能会来不及接收串口数据,那么应该将TEN#连接到单片机的I/O引脚,
当单片机不忙时,由单片机将CH341的TEN#置为低电平,允许CH341从串口发出数据,
当单片机较忙时,由单片机将CH341的TEN#置为高电平,CH341将暂停从串口发出数据
CH341的TNOW引脚是收发状态,可以用于半双工通讯的收发切换,例如RS485的收发切换。
*******************************************************************************
如何识别CH341串口,如何知道CH341的串口号COM?
在首次安装CH341串口驱动时,CH341串口号由WINDOWS自动分配(通常从COM3开始分配),
安装完成后可以在设备管理中点其属性修改串口号。由于应用程序事先无法知道CH341的
实际串口号,所以必须使用一些特殊方法识别出CH341串口,然后才能使用。
在WINDOWS 98/ME系统下,CH341串口号与当前硬件资源配置有关,默认为自动分配资源,
从而排在当前实际串口号之后,可以在串口属性中选择CH341资源配置来指定串口号。
在WINDOWS 2000/XP系统下,CH341串口号与当前所在USB端口有关,由首次安装时分配,
WINDOWS记忆各USB端口CH341的串口号,可以在串口属性中通过高级选项指定串口号。
比较简单但很费事的方法是,在首次安装CH341串口后,用程序修改注册表或者点其属性,
人为将CH341的串口号修改为COM5,避开常用的COM1到COM4,该方法简单但是有可能冲突。
常规的识别方法是采用软件查询方法:
尝试以串口名称逐个打开,打开成功后通过该串口收发特殊字符串识别CH341串口,
该方法是从“COM1”开始,接着“COM2”逐个尝试打开串口。如果某个串口打开成功,
那么在300bps波特率下向该串口发出特殊字符串“CH341Ser?”,如果在约200毫秒之内
收到应答字符“W”,那么该串口就是当前已经连接的CH341串口。软件设计方法是:
从COM1开始依次打开每个串口,如果打开串口失败则跳过(串口不存在或正在使用),
如果打开成功则设置该串口波特率为300,然后向该串口写入ASCII字符串"$CH341Ser?",
注意大小写,共10个字符一次写入,如果该串口是普通串口,那么通常没有任何返回,
如果该串口是CH341串口,那么应用程序将能接收到一个ASCII字符"W",以此识别CH341。
例如,用串口监控/调试工具软件演示:
将串口的波特率选择为300bps(有些工具软件在选择波特率后必须重新打开串口),
发出特征字符串,为10个ASCII码数据: $CH341Ser?
发送成功后,普通串口没有返回,而CH341串口将返回1个ASCII码: W
建议使用CH341PT.DLL动态库,应用程序可以直接调用DLL中相应的API识别CH341串口,
识别速度快,效率高。注意,CH341PT.DLL在INF中定义为可选安装,默认是安装的
*******************************************************************************
关于读取外部串行EEPROM
CH341可以外接I2C接口的器件,例如常用的24系列串行非易失存储器EEPROM,
支持24C01A,24C02,24C04,24C08,24C16等,以及与之时序兼容的器件,
24系列EEPROM既可以用于配置CH341,也可以用于断电期间保存重要数据。
例如保存产品序列号等识别信息,应用程序可以读出用于识别产品功能等。
如果需要支持24C64、24C256、24C512以及更大容量的EEPROM,请参考CH341评估板资料。
应用程序可以按串口方式读写CH341所连接的24系列EEPROM,方法是:
设置CH341串口波特率为300,然后以4字节为一组的命令包写串口,
命令包的首字节必须是@,地址符,对应的十六进制数为40H,
命令包的第二字节是24系列EEPROM的设备地址,位0是方向标志,0为写,1为读,
命令包的第三字节是24系列EEPROM的单元地址,
命令包的第四字节是准备写入24系列EEPROM的一个数据,如果是读操作则指定为00H,
如果是写操作,那么命令发送成功就说明写成功,对于EEPROM还要延时10mS才能下一个操作,
如果是读操作,那么命令发送成功后,可以从串口接收到一个字节的数据,就是读出的数据
例如,CH341连接24C0X,A2=A1=A0=GND,将仿真串口的波特率选择为300bps,
可以用串口监控/调试工具软件演示:
1、发出命令包,为4个十六进制数据: 40 A1 01 00
将24C0X中地址为01H的数据读出,可以从串口接收到一个字节的数据
2、发出命令包,为4个十六进制数据: 40 A0 2A 69
将一个字节的数据69H写到24C0X中地址为2AH的单元,通常等待10mS后才能进行下一个操作
3、发出命令包,为4个十六进制数据: 40 A5 E7 00
将24C0X中地址为02E7H的数据读出,可以从串口接收到一个字节的数据
注意,只有24C08和24C16中有地址为02E7H的数据单元
*******************************************************************************
关于支持非标准波特率或者更高通讯波特率
对于一些非标准波特率或者常规方法无法设置的高速波持率,CH341驱动程序提供特殊方法,
应用程序可以按串口写数据的方式间接设置CH341的串口通讯波特率,方法是:
设置CH341串口波特率为300,然后以ASCII码字符串的命令包写串口,
命令包的首字节必须是#,井字符,对应的十六进制数为23H,
命令包的中间为不超过7个数字表示的波特率,例如字符串9600或者921600等,
命令包的尾字节必须是_,下划线,对应的十六进制数为5FH,
也就是说,将要设置的波特率以字符串的形式置于#字符和_字符之间,作为一个命令包,
在300bps下发送到CH341的串口,那么将被CH341驱动程序解释为修改CH341的波特率,
而不会被作为数据从串口真正发出,当该操作成功返回后,
CH341实际工作于指定的新波特率,当然,计算机系统及串口控件仍然以为是工作于300bps,
如果需要再次以这种方法改变波特率,那么首先要用常规方法将CH341的波特率置为300bps。
例如,用串口监控/调试工具软件演示:
1、将CH341串口的波特率选择为300bps(有些工具软件在选择波特率后必须重新打开串口),
发出字符串命令包,为6个ASCII码数据: #9600_
发送成功后,CH341将实际工作于9600bps
2、�
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
CH341T模块资料,ch341t芯片资料,C,C++ (508个子文件)
CH341PAR.APS 31KB
USB2I2C.APS 26KB
USBIOXDLL.bas 19KB
USBIOXDLL.bas 19KB
CH341PT.BAS 3KB
Module1.bas 3KB
Module1.bas 3KB
MB786revB.bat 413B
一键安装.bat 162B
eeprom.bmp 770KB
Read.bmp 770KB
Write.bmp 770KB
ftdibus.cat 18KB
ftdiport.cat 17KB
ch341SER.CAT 9KB
CH341PAR.CLW 9KB
Default.conf 2KB
Default.conf 2KB
Default.conf 2KB
STUARTBLLIB.cpp 66KB
STMFlashLoader.cpp 58KB
image.cpp 38KB
STBLLIB.cpp 35KB
Ini.cpp 30KB
Ini.cpp 30KB
STFILE.CPP 14KB
rs232.cpp 10KB
Files.cpp 10KB
USB2I2CDlg.cpp 7KB
CH341PARDlg.cpp 7KB
LEDBTDisp.cpp 6KB
LEDBTDisp.cpp 6KB
MemPage.cpp 6KB
EppPage.cpp 6KB
MemPage.cpp 6KB
EppPage.cpp 6KB
EeprPage.cpp 5KB
EeprPage.cpp 5KB
OtherPage.cpp 4KB
OtherPage.cpp 4KB
I2CSPage.cpp 3KB
I2CSPage.cpp 3KB
CH341PAR.CPP 2KB
USB2I2C.CPP 2KB
CtrlSheet.cpp 1KB
CtrlSheet.cpp 1KB
StdAfx.cpp 306B
StdAfx.cpp 298B
StdAfx.cpp 298B
StdAfx.cpp 210B
StdAfx.cpp 209B
StdAfx.cpp 209B
DataBase.Dat 566KB
Thumbs.db 7KB
Thumbs.db 3KB
Files.def 522B
CH341PAR.dep 2KB
Files.dll 1.38MB
ftd2xx64.dll 307KB
STUARTBLLIB.dll 284KB
STBLLIB.dll 276KB
ftlang.dll 268KB
ftd2xx.dll 266KB
ftlang.dll 249KB
ftbusui.dll 164KB
Files.dll 164KB
Files.dll 164KB
ftbusui.dll 152KB
msstdfmt.dll 116KB
Zlib1.dll 88KB
ftcserco.dll 77KB
STUARTBLLIB.dll 76KB
STUARTBLLIB.dll 76KB
ftcserco.dll 73KB
STBLLIB.dll 68KB
STBLLIB.dll 68KB
ftserui2.dll 64KB
ftserui2.dll 62KB
USBIOX.DLL 30KB
USBXXX.DLL 30KB
USBIOX.DLL 30KB
ch341dll.dll 30KB
ch341dll.dll 30KB
CH341DLL.DLL 30KB
USBIOX.DLL 25KB
USBIOX.DLL 25KB
USBIOX.DLL 25KB
USBIOX.DLL 25KB
USBIOX.DLL 25KB
CH341PT.DLL 7KB
AT24C04读写测试.docx 860KB
电脑识别不出COM的原因分析.docx 380KB
问题解决.docx 59KB
资料目录.docx 16KB
CH341PAR.dsp 5KB
Files.dsp 5KB
USB2I2C.dsp 5KB
STUARTBLLIB.dsp 4KB
STBLLIB.dsp 4KB
STMFlashLoader.dsp 4KB
共 508 条
- 1
- 2
- 3
- 4
- 5
- 6
资源评论
- qq_162187492024-04-04资源太好了,解决了我当下遇到的难题,抱紧大佬的大腿~
- hillsun7902282022-03-14用户下载后在一定时间内未进行评价,系统默认好评。
lithops7
- 粉丝: 325
- 资源: 4457
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功