单片机串口发送数据不完整

2025-03-29 09:17:03
推荐回答(1个)
回答1:

void InitUartAndTimer0(void)
{

TMOD= 0x21; //T0用于定时,T1用于波特
TL0 = 0x66;
TH0 = 0xFC;
TR0 = 1; 
ET0 = 1; //开中断T0
//-----------------------------------------------
SCON=0x50;
TH1=0xfd;
TL1=0xfd;
TR1=1;
EA=1;
//ET1=0;
ES=1;
TI=0; 
b485Send = 0; //处于接收

void uartsends(uchar buff[],uchar len)
{
uchar i;
b485Send = 1; //处于发送
for(i=0;i{
SBUF=buff[i];
while(!TI);
TI=0;
}
Delayms(5);
b485Send = 0;
}