我在CH341A做异步串时发现有些波特率不准,我有用过 9600, 19200, 38400 其中9600,38400都正常,但9600时收到的字符就是乱码。单片机发送数据的波特率是很准的,随便用一个市场上买的USB转串口线,收到的都是对的,可我做的板子就只有这个波特率有问题,能不能帮我分析一下可能会是什么原因呢?
热门产品 :
CH390:以太网控制器芯片
我在CH341A做异步串时发现有些波特率不准,我有用过 9600, 19200, 38400 其中9600,38400都正常,但9600时收到的字符就是乱码。单片机发送数据的波特率是很准的,随便用一个市场上买的USB转串口线,收到的都是对的,可我做的板子就只有这个波特率有问题,能不能帮我分析一下可能会是什么原因呢?
可能存在干扰。CH341A和MCU之间的GND要保证良好。晶振一定要用12MHZ的。不知道你的MCU在9600下的波特率误差多少?
如果是干扰的问题,那其它波特率也应当会同样受干扰。我没算过误差,但用 pl-2303hx 接收都是正常的,所以ch341a接收也应当是正常的,但实际上就这个波特率有问题。是不是硬件是哪个电容或电阻会有影响?我用的是 12M 晶振,15P电容
9600这个波特率没有问题,我用了多年。可能是你的软件处理数据较慢,发送数据时间又较长,影响接收。导致错误。