微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 单片机上的RS485接口

单片机上的RS485接口

时间:11-24 来源:互联网 点击:

int rs_buffer_amount; //串口缓字节数

//--定义结束

//--定义串口与MCU的硬件连接

sbit RS_Mode=P0^0;

//--定义结束

void RS_Init()

{

TH1=FF;

TL1=FF;

TMOD=0x21;

PS=1;

EA=1;

ET1=0;

SM0=0;

SM1=1;

SM2=0;

TR1=1;

REN=1;

RI=0;

TI=0;

ES=1;

RS_Mode=RS485_Receive;

rs_buffer_poiter=-1;

rs_buffer_amount=0;

}

void RS_Receive() interrupt 4 using 2 //中断方式接收串口数据

{

ES=0;

if(RI)

{

//此处处理串口缓存

rs_buffer_pointer++;

rs_buffer_pointer=rs_buffer_pointer%RS_BUFFER_SIZE;

rs_buffer[rs_buffer_pointer]=SBUF;

rs_buffer_amount++;

RI=0;

}

ES=1;

}

void RS_Send(unsigned char data) //用户函数,发送一个字节的数据

{

ES=0;

RS_Mode=RS485_Send;

SBUF=data;

RS_Mode=RS485_Receive;

ES=1;

while(TI==0);

TI=0;

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top