www.1862.net > whilE(TI==0); TI=0;什么意思?详细点啊!

whilE(TI==0); TI=0;什么意思?详细点啊!

TI==0时执行空语句,这个是使用在串口中的,就是等待数据发送完成。通讯的时候TI==0,结束时硬件自动将TI==1,此时再次通讯需要将TI==0;这就是上面语句的意思。

因为1为真,所以while(1)下面{}里的内容将一直循环进行,无法跳出,通常放在主程序中 而while(T==0),这句是试探为0,若为0,即为真,将循环执行{}中的程序,不为零,直接跳出while下面得{}

这种写法是用在条件语句中的。 例如:while(!TI);或者while(!RI);另一种写就是while(TI==0);或者while(RI==0); 这两种写法是等价的,怎么写都可以,就看个人的爱好了,这个没有什么硬性的规定。 写程序时,会看到这样写的: while(!TI);TI=0,前...

0xff 为16位进制数,‘A’ 也可以转换成10进制的数,执行意思就是 首先给sbuf赋值,{当T1是0时,T1=0; 在执行_delay_us(2);}此处用了T1 形成了死循环,这个方法内部赋值有点问题

void TXBYTE( unsigned char i) // 这是一个向单片机串口总线发出1字节数据的函数 { TI=0; // 将 TI 置 0 SBUF=i; // 将 i 存入串口缓冲 while(!TI); // 直到数据已成功发送( TI 被置 1) TI=0; // 将 TI 置 0 } SBUF 和 TI 是单片机的寄存器,...

当发送结束T1=1;这表明结束。 所以 while(TI==0); 这里没错。 发送结束后把TI设置为0,表明下次继续发 因为是在while(1)里,当 while(trdata[i]!=0x00) 里的I到达0xx,既跳出此循环 回到while(1),所以I又为0.。。这循环不会中断~ 当i 又回到0...

这是通过串口发送字符串的程序。 只要没有到字符串的末尾,就发送。

不是发送CH字符,CH是一个变量可以随意设置,发送的是CH的值,SBUF是缓存,发送方把要发送的字符放入,接收方到SBUF中龋

while(!TI) { _nop_(); } 的意思是当TI=0时,一直执行空操作,知道TI=1,退出。

网站地图

All rights reserved Powered by www.1862.net

copyright ©right 2010-2021。
www.1862.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com