📄 com.c
字号:
#include <reg52.h>
bit read_flag=0;
unsigned char mid_num[10];
void init_serialcomm(void)
{
SCON = 0x70; //SCON: serail mode 3, start 1,9-bit UART,stop 1
TMOD |= 0x20; //TMOD: timer 1, mode 2, 8-bit reload
PCON &= 0x7f; //SMOD=0;
// PCON |= 0x80; //SMOD=1;
TH1 = 0xFd; //Baud:9600 fosc=11.0592MHz
IE |= 0x90; //Enable Serial Interrupt
TR1 = 1; // timer 1 run
}
/********************************************************************
*
* 名称:send_char_com
* 说明:
* 功能: 向串口发送一个字符
* 调用:
* 输入: ch
* 返回值: 无
***********************************************************************/
void send_char_com(unsigned char ch)
{
SBUF=ch;
while(TI==0);
TI=0;
}
/********************************************************************
*
* 名称: serial
* 说明:
* 功能: 串口接收中断函数
* 调用:
* 输入: 无
* 返回值: 无
***********************************************************************/
//
void serial (void) interrupt 4 using 3
{
static int i=0;
if(RI)
{
RI = 0;
mid_num[i++] = SBUF;
while(i==10)
{
read_flag = 1;
i=0;
}
}
}
/*********************主函数*********************/
main()
{
int j;
init_serialcomm(); //初始化串口
while(1)
{
if(read_flag) //如果取数标志已置位,就将读到的数从串口发出
{
read_flag=0; //取数标志清0
for(j=0;j<10;j++)
send_char_com(mid_num[j]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -