1。ch340c + lgt328d 串口通信windows乱码 linux正常
larduino nano,国产兼容版芯片,烧入 示例代码,电脑输入单片机的字符出现乱码。单片机输出正常。
以上毛病难道是驱动的毛病?
1。ch340c + lgt328d 串口通信windows乱码 linux正常
larduino nano,国产兼容版芯片,烧入 示例代码,电脑输入单片机的字符出现乱码。单片机输出正常。
以上毛病难道是驱动的毛病?
您好,如上问题并非驱动问题。而是部分lgt328芯片串口的误差相对较高(严重时会超过标准波特率2%),同时CH340C芯片内置时钟,不同芯片之间会存在较小的时钟偏差(也即波特率偏差)通常芯片间不超过1%,CH340芯片要求串口允许接收误差不超过2%,因此会遇到部分芯片串口通讯乱码的问题。因此对于Arduino应用建议采用支持专用波特率模式的CH9340芯片(通过H_F引脚启用)或者外置晶体的CH340G/T芯片。
谢谢!!
奇怪,试了一个340e就没事了。另外 340b我看也是sop16封装 最大2%误差,那个您说那个9340也是sop16封装吗?我有一批板子,能直接更换吗?340c可以直接替换为那个宽松点的?对了,340e不支持dtr吧?我看板子上负责腹围的写了个dtr,估计是写错了。
专用波特率是多少,我57600和19200和115200三种。 另外Linux下为什么情况好很多,虽然依旧有时候程序上传不上去,但是好很多!
另外红外的340r还有吗?其他的支持红外吗?
另外,我看了github上一个专门文章,说你们这个波特率偏差问题,并且给出了几种计算方法,提交到新内核.所以肯定是波特率偏差,但是究竟是谁的偏差,调整那个,是个问题.
您好,可以直接使用CH9340C和替换CH340C与CH340B。但是CH9340的H_F引脚对应CH340C芯片的8脚(OUT)。在电路上需要特殊处理才可以支持专用波特率模式。关于该特殊波特率说明可以查看CH9340的手册:/downloads/CH9340DS_PDF.html
另外,CH340系列内置晶振的要求是一样的,因此用于lgt328不推荐CH340C或者E。推荐的是选用外置晶体的CH340,或者支持专用波特率的CH9340。
H_F#引脚接低电平(接 GND) ,选择专用波特率模式;
其他都一样吧?
另外我看了, 57600时 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间
确实 328偏低些
这个专用模式是不是就是容错大的模式?
另外红外的340r还有吗?其他的支持红外吗?
您好,因MEGA,LGT328等芯片采用16M晶振,因此在使用串口功能时,会存在约2%的串口误差。CH9340专用波特率模式是指CH9340的串口波特率平均调快约2%以适应与该类MCU的串口传输。
CH340R目前无货,量大可定制,同时也可以考虑使用我司MCU(支持31.25KHz串口即可)来实现类似功能。