| 
				打卡等级:初来乍到打卡总天数:2最近打卡:2024-10-24 08:05:57 新手上路 
 
 
	积分40 
 | 
 
| 本帖最后由 木生 于 2024-10-21 09:45 编辑 
 
 void SetTimer2Baudraye(u16 dat)  // 使用Timer2做波特率.
 {
 AUXR &= ~(1<<4);    //Timer stop T2R=0
 AUXR &= ~(1<<3);    //Timer2 set As Timer
 AUXR |=  (1<<2);    //Timer2 set as 1T mode T2X12=1
 T2H = dat / 256;
 T2L = dat % 256;
 IE2  &= ~(1<<2);    //禁止中断
 AUXR |=  (1<<4);    //Timer run enable
 }
 
 
 // 串口初始化函数(需要根据实际情况编写)
 void SerialInit() {
 // 设置串口参数,如波特率、数据位、停止位等
 SetTimer2Baudraye(65536UL - (MAIN_Fosc / 4) / Baudrate2);
 
 S2CON &= ~(1<<7);   // 8位数据, 1位起始位, 1位停止位, 无校验
 IE2   |= 1;         //允许中断
 S2CON |= (1<<4);    //允许接收
 P_SW2 &= ~0x01;
 P_SW2 |=0;         //UART2 switch to: 0: P1.0 P1.1,  1: P4.6 P4.7
 
 }
 
 
 | 
 |