comx:选择哪个UART口;MOD=0-->n(MODE1),=1-->s(MODE3)<br />*******************************************************************************************/<br />void UART_BPS_Init(unsigned char comx,unsigned int bps,unsigned char mod,unsigned char isr_en){<br /><br /> if(comx==COM0){<br /> PINSEL0 |= (5<<0); // 设置I/O连接到UART0<br /> if(mod==MOD1){<br /> U0LCR = B1000_0011;//0x83;mod1 // DLAB = 1,可设置波特率<br /> }else{<br /> U0LCR = B1010_1011;//0xab;mod3 // DLAB = 1,可设置波特率<br /> }<br /> U0DLM= (Pclk / 16) / bps/256; // 设置波特率 //<br /> U0DLL = ((Pclk / 16) / bps)%256; //<br /> U0LCR &= 0x7f; //与51通讯方式3,d5d4=10必须要强制位1 //<br /> }else{<br /> PINSEL0 |= (5<<16); // 设置I/O连接到UART1<br /> if(mod==MOD1){<br /> U1LCR = B1000_0011;//0x83;mod1 // DLAB = 1,可设置波特率<br /> }else{<br /> U1LCR = B1010_1011;//0xab;mod3 // DLAB = 1,可设置波特率<br /> }<br /> U1DLM= (Pclk / 16) / bps/256; // 设置波特率 //<br /> U1DLL = ((Pclk / 16) / bps)%256; //<br /> U1LCR &= 0x7f; //与51通讯方式3,d5d4=10必须要强制位1 //<br /> }<br /> if(isr_en) UART_ISR_Init(comx);<br />} |
|