
Email : szk@wch.cn
Phone : 025-52638363

问：我的电脑是64位系统,安装驱动系统提示驱动程序未经数字签名,不可用.要怎样解决呢? 

答：1、系统启动时按F8 “禁用数字签名模式”2、进系统后，控制面板->用户->UAC的勾选去掉就可以了.


问：关于支持非标准波特率或者更高通讯波特率的设置？

答：对于一些非标准波特率或者常规方法无法设置的高速波持率，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、将CH341串口的波特率选择为300bps（有些工具软件在选择波特率后必须重新打开串口），
   发出字符串命令包，为8个ASCII码数据： #460800_
   发送成功后，CH341将实际工作于460800bps
3、将CH341串口的波特率选择为300bps（有些工具软件在选择波特率后必须重新打开串口），
   发出字符串命令包，为9个ASCII码数据： #1000000_
   发送成功后，CH341将实际工作于1000000bps

CH341串口支持50bps到2Mbps的波特率，当应用程序请求CH341改变串口通讯波特率时，
CH341驱动程序将波特率换算为波特率除数，然后修改CH341芯片内部的波特率除数寄存器，
所以设置CH341串口的通讯波特率实际上是设置CH341芯片内部的波特率除数寄存器，
由于CH341内部的串口基准位时钟为48/8=6MHz（或12MHz），并且波特率除数只支持整数，
所以在指定波特率时，应该考虑实际换算误差，在波特率大于19200bps时的计算方法是：
    X = 6000000 除以波特率后的值
    Y = X 四舍五入后的值
    误差 = ( Y - X ) / X

以下为CH341支持的常用波特率，未注明的基准位时钟为6MHz，未注明的误差小于0.16%
    921600 (12MHz),   460800,   307200 (12MHz),
    230400,  153600,  128000 (0.27%),    115200,
    76800,   57600,   56000,    38400,   33600,
    28800,   19200,   14400,    9600,    7200,
    4800,    3600,    2400,     1800,    1200,
    900,     600,     300,      150,     134.5,
    110,     100,     75,       50,      2000000,
    1500000, 1200000, 1000000,  750000,  500000,
    375000,  250000,  200000,   187500,  100000,
    93750,   75000,   50000,    25000,   10000
其它波特率只要误差小于2.5%，CH341都可以支持，计算误差时要考虑两端的误差之和。
但是为了可靠进行通讯，建议不要使用误差大于1%的波特率

问：多串口情况下如何识别当前串口？
答：常规的识别方法是采用软件查询方法：
   尝试以串口名称逐个打开，打开成功后通过该串口收发特殊字符串识别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
我们做过测试是没有问题的!

问：USB\VID_1A86&PID_7523&REV_0254 用的win 7 64bit,下载了当前3.1.2009.6的驱动
设备管理器里显示有串口，但是我连接不到设备（交换机、路由器）请问这怎么解决？

答：把串口号改为COM1 试试，很多设备只认COM1 

问：ch431在windows7是否可以使用呢，就是USB转串口，用来下载单片机程序。
答：可以在win7上使用

问：请问ＣＨ３４１能转ＬＰＴ口吗？？
答：CH341虚拟并口是可以的,功能也可以实现,但是没有办法象操作LPT口那样直接对IO地址进行读写,需要调用CH341动态链接库的API函数才能实现,因为PC没有给USB设备分配硬件地址,所以没有办法象操作LPT口那样直接对IO地址进行读写.

问：请问USB2IIC I2C外部是否需要加上拉电阻？
答：不需要，主控芯片内部已经内置上拉电阻了。