#include <stdio.h>
#define uchar unsigned char
#define uint unsigned int
uint i;
uint len;
uchar srdata[15];
uchar trdata[10]={'M','C','S','5','1'};
void serial () interrupt 4 //串行口中断,用第二组寄存器
{
/*----- Received data interrupt. ---------------*/
//接收数据
if(RI==1)
{
for(i=0;i <len;i++) //len为接收的个数
{
RI=0;
if(SBUF!=0x0D && SBUF!=0x0A) //当接收到的数据不是回车换行的话,存数据
{srdata[i]=SBUF;
i++;
}
else //当接收到的数据是回车换行的话,指针归零
{i=0;
}
}
}
/*------ Transmitted data interrupt. --------------*/
//发送数据
if (TI==1)
{ TI=0;
SBUF=trdata[0];
}
}
main ( )
{
//Configure UART ,9600波特率
T3CON = 0x82;
T3FD = 0x12;
SCON = 0x52;
len=10;
IT0=1; //负边沿触发
EX0=1; //开中断INT0
IT1=1; //负边沿触发
EX1=1; //开中断1
ES=1; //开串行口中断
EA=1; //开所有中断
PS=1; //串行口中断优先级最高
while(1)
{
}
}
我也想问我个问题材