确实讲的不是很清楚,UART1的寄存器里面SSCON1和2是设置波特率的,说明是独立的波特率发生器,不占用定时器资源;然后是SSI三选一串口,说明共用SSI的中断,中断源是SSI;例程的话再KEIL的插件目录下有
/*****************************************************
*函数名称:void Uart1_Init(uint Freq,unsigned long int baud)
*函数功能:Uart1中断初始化
*入口参数:Freq-主频,baud-波特率
*出口参数:void
*****************************************************/
void Uart1_Init(uint Freq,unsigned long int baud)
{
P2CON &= 0xFC; //TX/RX设置为输入带上拉
P2PH |= 0x03;
OTCON |= 0xC0; //串行接口SSI选择Uart1通信
SSCON0 = 0x50; //设置通信方式为模式一,允许接收
SSCON1 = Freq*1000000/baud; //波特率低位控制
SSCON2 = (Freq*1000000/baud)>>8; //波特率高位控制
IE1 |= 0x01; //开启SSI中断
EA = 1;
}
|