C8051串口波特率设置问题
晶振频率22.1184M,想得到115200的波特率,端口方面是这样设的:
P0MDIN = 0x3F;
P0MDOUT = 0x18;
P0SKIP = 0xC8;
XBR0 = 0x01;
XBR1 = 0x40
晶振的设置如下:
OSCXCN = 0x67;// External 22.1184M Oscillator
for (i = 0; i < 3000; i++);
while ((OSCXCN & 0x80) == 0);
CLKMUL = 0x02;
CLKSEL = 0x01;
OSCICN = 0x03;
时钟部分这样设置的
TMOD = 0x21;
CKCON = 0x10;
TH1 = 0xF8;
波特率我是这样算的,参考C8051F340的data sheet, UART0波特率 115200: = [(22118400/12)/(256 - 0xF8)]/2
但是用51波特率计算器来计算的时候,看到它要用倍频,初始值要设成0xFF,请问究竟哪种方法是对的?
[解决办法]
波特率太高了,理论上是没问题的,不知道C8051能行吗?
[解决办法]