代码拉取完成,页面将自动刷新
#include <reg51.h>
#include "uart.h"
unsigned char flag_recv = 0;
unsigned char flag_send = 0;
/* 串口配置函数 */
void uartInit(void) {
TMOD |= 0x20; // timer1工作方式2 波特率
SCON |= 0x50; // 10位异步收发 允许中断 允许接收
PCON |= 0x80; // 波特率加倍SMOD=0
TH1 = 0xF3; // 4800
TL1 = 0xF3;
ES = 1; // 串口中断允许
TR1 = 1;
}
/* 串口中断服务函数 */
/* 程序死机原因 https://www.cnblogs.com/freesblog/p/5040474.html*/
void uart_isr(void) interrupt 4
{
if(RI) {
RI = 0;
flag_recv = 1;
}else {
TI = 0;
flag_send = 1;
}
}
void uartSendChr(unsigned char chr) {
SBUF = chr;
while(!flag_send);
flag_send = 0;
}
void uartSendStr(unsigned char *str) {
while(*str != '\0') {
uartSendChr(*str++);
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。