📄 rs485rxd.c
字号:
/***********************************************
从机
**********************************************/
#include<reg52.h>
#define uchar unsigned char
sbit led = P1^2;
sbit EN = P1^1;
uchar uart_table[]={0
};
void serial () interrupt 4 //接收采用中断
{
if(RI)
{
uchar uart_data,i,k;
static uchar num = 0;
RI=0;
uart_data=SBUF;
led = 0; //接受点亮灯
if(num == 0)
{
k=uart_data; //字节长度处理
for(i=0;i<k;i++)
{
uart_table[i]=0; //初始化数组
}
}
else
{
uart_table[num] = uart_data; //开始接受字节
}
num++;
if(k == num) //字节接受完毕
{
EA=0; //close the uart interrupt
}
}
}
void main (void)
{
SCON = 0x50; /* uart in mode 1 (8 bit), REN=1 */
TMOD = TMOD | 0x20 ; /* Timer 1 in mode 2 */
TH1 = 0xFD; /* 9600 Bds at 11.059MHz */
TL1 = 0xFD; /* 9600 Bds at 11.059MHz */
IE =0x90;
TR1 = 1; /* Timer 1 run */
EN = 0; /* RS-485 enable,'0'--RX enable; '1'--TX disable */
led = 1;
while(1);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -