- 打卡等级:常住居民III
- 打卡总天数:101
- 最近打卡:2026-01-28 10:26:01
高级会员
- 积分
- 865
|
发表于 2026-1-9 21:56:19
|
显示全部楼层
第二十一集 视频: https://www.stcaimcu.com/forum.php?mod=viewthread&tid=323&extra=&highlight=%E6%89%93%E5%8D%A1&page=1
串口 引脚选择
控制相关寄存器, 地址寄存器
波特率 寄存器
寄存器还是比较多的。
主要是配置一下,然后就可以通过中断接收数据了。
void UART1_config(u8 brt)
{
/*********** 波特率使用定时器2 *****************/
if(brt == 2)
{
SetTimer2Baudraye(Baudrate1);
}
/*********** 波特率使用定时器1 *****************/
else
{
SetTimer1Baudraye(Baudrate1);
}
/*************************************************/
SCON = (SCON & 0x3f) | 0x40; //UART1模式, 0x00: 同步移位输出, 0x40: 8位数据,可变波特率, 0x80: 9位数据,固定波特率, 0xc0: 9位数据,可变波特率
// PS = 1; //高优先级中断
ES = 1; //允许中断
REN = 1; //允许接收
P_SW1 &= 0x3f;
P_SW1 |= 0x00; //UART1 switch to, 0x00: P3.0 P3.1, 0x40: P3.6 P3.7, 0x80: P1.6 P1.7, 0xC0: P4.3 P4.4
B_TX1_Busy = 0;
TX1_Cnt = 0;
RX1_Cnt = 0;
}
|
|