51单片机,串口通信一般接受数据,用串口中断,发送数据用查询就行了,

2024-11-08 17:55:54
推荐回答(4个)
回答(1):

void com_isr(void) interrupt 4
{
//接收函授
RI=0; //将寄存器复位等待接收下一个
ldata=SBUF; //将接收的数据存于变量中
//发送子函数。
TI=0;
SBUF=ldata;
}
主函授中要加一句SBUF=ldata;

回答(2):

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;
}

}

回答(3):

整个发送,接收数据的函数都发上来。。。肯定是可以的嘛!1

回答(4):

你串口初始化程序呢.是不是已经设置成9位的呢