1。ch340c + lgt328d 串口通信windows亂碼 linux正常
larduino nano,國(guó)產(chǎn)兼容版芯片,燒入 示例代碼,電腦輸入單片機(jī)的字符出現(xiàn)亂碼。單片機(jī)輸出正常。
以上毛病難道是驅(qū)動(dòng)的毛???
1。ch340c + lgt328d 串口通信windows亂碼 linux正常
larduino nano,國(guó)產(chǎn)兼容版芯片,燒入 示例代碼,電腦輸入單片機(jī)的字符出現(xiàn)亂碼。單片機(jī)輸出正常。
以上毛病難道是驅(qū)動(dòng)的毛???
您好,如上問題并非驅(qū)動(dòng)問題。而是部分lgt328芯片串口的誤差相對(duì)較高(嚴(yán)重時(shí)會(huì)超過標(biāo)準(zhǔn)波特率2%),同時(shí)CH340C芯片內(nèi)置時(shí)鐘,不同芯片之間會(huì)存在較小的時(shí)鐘偏差(也即波特率偏差)通常芯片間不超過1%,CH340芯片要求串口允許接收誤差不超過2%,因此會(huì)遇到部分芯片串口通訊亂碼的問題。因此對(duì)于Arduino應(yīng)用建議采用支持專用波特率模式的CH9340芯片(通過H_F引腳啟用)或者外置晶體的CH340G/T芯片。
謝謝??!
奇怪,試了一個(gè)340e就沒事了。另外 340b我看也是sop16封裝 最大2%誤差,那個(gè)您說那個(gè)9340也是sop16封裝嗎?我有一批板子,能直接更換嗎?340c可以直接替換為那個(gè)寬松點(diǎn)的?對(duì)了,340e不支持dtr吧?我看板子上負(fù)責(zé)腹圍的寫了個(gè)dtr,估計(jì)是寫錯(cuò)了。
專用波特率是多少,我57600和19200和115200三種。 另外Linux下為什么情況好很多,雖然依舊有時(shí)候程序上傳不上去,但是好很多!
另外紅外的340r還有嗎?其他的支持紅外嗎?
另外,我看了github上一個(gè)專門文章,說你們這個(gè)波特率偏差問題,并且給出了幾種計(jì)算方法,提交到新內(nèi)核.所以肯定是波特率偏差,但是究竟是誰的偏差,調(diào)整那個(gè),是個(gè)問題.
您好,可以直接使用CH9340C和替換CH340C與CH340B。但是CH9340的H_F引腳對(duì)應(yīng)CH340C芯片的8腳(OUT)。在電路上需要特殊處理才可以支持專用波特率模式。關(guān)于該特殊波特率說明可以查看CH9340的手冊(cè):http://www.findthetime.net/downloads/CH9340DS_PDF.html?
另外,CH340系列內(nèi)置晶振的要求是一樣的,因此用于lgt328不推薦CH340C或者E。推薦的是選用外置晶體的CH340,或者支持專用波特率的CH9340。
?H_F#引腳接低電平(接 GND) ,選擇專用波特率模式;
其他都一樣吧?
另外我看了, 57600時(shí) 328在5.717~5.75之間,340在5.78~5.815間
19200
mcu 1.878~1.880 340 1.9228~1.938間
9600
mcu 9.342~9.434 340 9.615~9.7107間
確實(shí) 328偏低些
這個(gè)專用模式是不是就是容錯(cuò)大的模式?
另外紅外的340r還有嗎?其他的支持紅外嗎?
您好,因MEGA,LGT328等芯片采用16M晶振,因此在使用串口功能時(shí),會(huì)存在約2%的串口誤差。CH9340專用波特率模式是指CH9340的串口波特率平均調(diào)快約2%以適應(yīng)與該類MCU的串口傳輸。
CH340R目前無貨,量大可定制,同時(shí)也可以考慮使用我司MCU(支持31.25KHz串口即可)來實(shí)現(xiàn)類似功能。