串口波特率设置说明:建议波特率不要设置太高,不是说设置高了不能用 波特率设置过高会导致传输数据不稳定,会出现丢包的现象。 怎么设置波特率的问题:这款芯片有两种方法来产生波特率 第一种:用定时器来产生波特率(脉冲信号),有弊端就是占用定时器。 第二种:用BRT寄存器(波特率专用定时器)来产生波特率,但是只有一个。 所以如果需要双串口同时通讯,则必须使用一个定时器,和一个BRT定时器。 一般串口发送数据都是选择模式一,或者模式三(波特率可变)。 (因为模式二和模式四波特率是固定的)。所以在此我不多说波特率二和四。 file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image002.png file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png T1X12这个标志位是来定义时钟分频(关系到定时器的速度,如果设置为1,则定时器不12倍分频,则波特率速度快12倍)。默认为0,就是不设置,则定时器时钟12分频,和普通52速度一样。 BRTX12 这个标志位和T1X12差不多,只是它是来设置的快速波特率时钟分频,设置为1,不分频。默认为0,则12分频,(波特率慢12倍)。 file:///C:/Users/admin/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png 我自己理解的,错了请指正。 例: 11.0592MHZ晶振,1T工作模式 波特率设置值=256 - INT(1105920/9600/(32+0.5)) =256 - 3 =253 十六进制,加上修正值是FD |