本帖最后由 AiChiTang 于 2023-7-30 16:06 编辑
u8 flag_a=0;
void UART_SendByte(u8 Byte)
{ if(flag_a==1)
{
delay(50000)
}
if(flag_a==0 )
{
SBUF=Byte;
while(TI==0);
TI=0; flag_a=1;
}
}
void main()
{
delay(50000)
UartInit();
UART_SendByte(0x05);
}
void Delayms(u16 i)//延时函数i=100延时1ms左右
{
while(i--);
}
//我感觉这样写应该是只能发一次的,用标志位开了之后就不进去。 /*我觉得WuLin那个改的没问题的,进入死循环之后应该是不工作的,但是不知道为什么不对。有没有可能是最开始发送的时候不稳定,没发出去,因为只发了一次,所以没看到效果。或者先开的发送端,再开的接收端,错过了。我觉得可以先用延时函数看一下。调好之后再把延时函数删了。
|