請問在初次使用時怎么設置 CH341T的波特率? 在論壇上看見好像有 CH341CFG.EXE這個軟件,請問在什么地方可以下載 ?
通過串口發(fā) #115200_ ?
在波特率為300的情況下,以字符格式發(fā)送:#31250_,則波特率就被設定為31250
******************************************************************************* 關于支持非標準波特率或者更高通訊波特率
對于一些非標準波特率或者常規(guī)方法無法設置的高速波持率,CH341驅動程序提供特殊方法, 應用程序可以按串口寫數據的方式間接設置CH341的串口通訊波特率,方法是: 設置CH341串口波特率為300,然后以ASCII碼字符串的命令包寫串口, 命令包的首字節(jié)必須是#,井字符,對應的十六進制數為23H, 命令包的中間為不超過7個數字表示的波特率,例如字符串9600或者921600等, 命令包的尾字節(jié)必須是_,下劃線,對應的十六進制數為5FH, 也就是說,將要設置的波特率以字符串的形式置于#字符和_字符之間,作為一個命令包, 在300bps下發(fā)送到CH341的串口,那么將被CH341驅動程序解釋為修改CH341的波特率, 而不會被作為數據從串口真正發(fā)出,當該操作成功返回后, CH341實際工作于指定的新波特率,當然,計算機系統(tǒng)及串口控件仍然以為是工作于300bps, 如果需要再次以這種方法改變波特率,那么首先要用常規(guī)方法將CH341的波特率置為300bps。
例如,用串口監(jiān)控/調試工具軟件演示: 1、將CH341串口的波特率選擇為300bps(有些工具軟件在選擇波特率后必須重新打開串口), 發(fā)出字符串命令包,為6個ASCII碼數據: #9600_ 發(fā)送成功后,CH341將實際工作于9600bps 2、將CH341串口的波特率選擇為300bps(有些工具軟件在選擇波特率后必須重新打開串口), 發(fā)出字符串命令包,為8個ASCII碼數據: #460800_ 發(fā)送成功后,CH341將實際工作于460800bps 3、將CH341串口的波特率選擇為300bps(有些工具軟件在選擇波特率后必須重新打開串口), 發(fā)出字符串命令包,為9個ASCII碼數據: #1000000_ 發(fā)送成功后,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%的波特率。
CH341CFG.EXE這個軟件是用來更改廠商ID和設備ID的與修改波特率無關,你可以下載串口調試工具在應用層設置波特率.
呵呵,謝謝樓上各位.我現在明白了. 再次謝謝各位的幫助.