CH341T的晶振推荐使用的为6M或12M, 请问他们之间有何区别? 是不是用12M时芯片处理速度快,更适合于高波特率数据发送?
不是这样的! 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%的波特率。
341的晶振只能使用12M,你在哪边看到341T可以使用6M的晶振的341????
再问: “CH341内部的串口基准位时钟为48/8=6MHz(或12MHz)” 什么意思,把6MHz换为12MHz时 即48/8=“12MHz”该如何写此公式??? CH341怎么知道晶振是6MHz还是12MHz,并对内部进行波特率配置,比如先配置为300bps?
好像是的,CH341T的晶振只能是12M,当为12M时上电就配置成功。当为6M时,芯片根本不能配置成功。
前面1楼讲得很清楚,内部使用什么频率,那是固件程序处理的. 你只要将CH341外接12M晶振就可以工作.