我想要使用68013做一个数据采集卡,68013工作在slave fifo模式,单片机采集到的数据通过68013送到PC,PC发送的命令到达68013之后,通过串口发送给单片机。但是现在只能把串口1的波特率设为115200,我想把波特率设为38400,编译通过之后不能发送数据,甚至连USB Console里面的Configuration Interfaces都发生了变化,各个端点都不再是我自己的设置,求教大神,我彻底没辙了,感激不尽。。。
波特率115200时候的代码:
SCON1 = 0x53;
SMOD1 = 0;
UART230 = 0x02;
波特率改为38400时候的代码:
TMOD = (TMOD & 0x0F) | 0x20; // 设置定时器1工作方式2,自动重载方式
CKCON |= 0x10; //T1M = CLKOUT/4
PCON |= 0x80 ; // 设置SMOD0=1,波特率加倍
EICON |= 0x80; // 设置SMOD1=1,波特率加倍
SCON1 = 0x50; // 设置串行口1工作方式1,10位异步收发,REN=0,允许接收。RI1=0,TI1=0
TH1 = 0xEC; // 设置定时器1的初值
TL1 = 0xEC;
ES1 = 1; //允许串口1中断
TR1 = 1;
EA = 1; |