void com_isr(void) interrupt 4
{
//接收函授
RI=0; //将寄存器复位等待接收下一个
ldata=SBUF; //将接收的数据存于变量中
//发送子函数。
TI=0;
SBUF=ldata;
}
主函授中要加一句SBUF=ldata;
bit busy=0;
unsigned char i;
void com_isr(void) interrupt 4
{
if(RI){
RI=0; //将寄存器复位等待接收下一个
ldata=SBUF; //将接收的数据存于变量中
}
if(TI)//我在定时器中断里面把ti置1,但是不行。
{
TI=0;
busy=1;
}
}
main()
{
.............
for(i=0;i<9;i++)
{
SBUF=dat[i];
while(busy==0);
busy=0;
}
}
整个发送,接收数据的函数都发上来。。。肯定是可以的嘛!1
你串口初始化程序呢.是不是已经设置成9位的呢