- 打卡等级:初来乍到
- 打卡总天数: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
}
|
|