📄 serial_inquiry.c
字号:
//文件名:serial_inquiry.c
//说明:最简单的查询法串口通讯程序
//可以使用串口调试助手测试
//编写:王晓荣
//日期:20080401
#include <REGX51.H>
void init_serial(); // 串口初始化
void putch(unsigned char); //数据发送
unsigned char getch(void); //数据接收
main()
{
unsigned char ch;
//unsigned int i;
init_serial();
ch = 0;
while(1)
{
ch = getch(); //接收要快,会出现“漏码”现象
putch(ch);
//for(i = 0; i < 1000; i++) ; //出现“漏码”现象
//“漏码”原因:未及时取SBUF中数据,被覆盖
//一组数据的发送是连续进行的
}
}
void init_serial() // 晶振:11.0592M
{
TMOD = 0x20; //定时器1用于串行通讯
TH1 = 256 - 12; //1.5: 波特率19200; 3: 波特率9600; 6:波特率4800; 12:波特率2400
TL1 = 256 - 12;
SCON = 0x50; //工作方式1
PCON &= 0xef; // 波特率不倍增
TR1 = 1;
RI = 0;
}
void putch(unsigned char ch)
{
SBUF = ch;
TI = 0;
while(!TI);
}
unsigned char getch(void)
{
while(!RI);
RI = 0;
return(SBUF);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -