下位机打开串口
/*******************************************************************************
* 函 数 名 : uart_init
* 函数功能 : 串口通信中断配置函数,通过设置TH和TL即可确定定时时间
* 输 入 : baud:波特率对应的TH、TL装载值
* 输 出 : 无
*******************************************************************************/
void uart_init(u8 baud)
{
TMOD|=0X20; //设置计数器工作方式2八位重装
SCON=0X50; //设置为工作方式1
PCON=0X80; //波特率加倍
TH1=baud; //计数器初始值设置
TL1=baud;
ES=1; //打开接收中断,打开interrupt 4的中断
EA=1; //打开总中断
TR1=1; //打开计数器
}
下位机接收串口数据
演示的是下位机接收上位机发送的7个字节数据
数据存入Byte[7]数组中
void uart() interrupt 4 //串口通信中断函数
{
RI = 0; //清除接收中断标志位
Byte[TT]=SBUF; //存储接收到的数据
TT++;
if(TT>6)
{
TT=0;
//cb_ch_da(Byte,7);当数据接收完毕之后调用函数
}
// while(!TI); //等待发送数据完成
// TI=0; //清除发送完成标志位
}