打印

为什么用if语句不行,用while却可以

[复制链接]
楼主: jiajs
手机看帖
扫描二维码
随时随地手机跟帖
21
i1mcu| | 2017-12-19 22:19 | 只看该作者 回帖奖励 |倒序浏览
当发送结束T1=1;这表明结束

使用特权

评论回复
22
51xlf| | 2017-12-19 22:19 | 只看该作者
if的话,可能循环过去 。

使用特权

评论回复
23
chenci2013| | 2017-12-19 22:19 | 只看该作者
没有发送完成就得执行下一次了。

使用特权

评论回复
24
pmp| | 2017-12-19 22:19 | 只看该作者
if实现不了等待的功能。

使用特权

评论回复
25
mmbs| | 2017-12-19 22:19 | 只看该作者
其他的例程都是这么写的。

使用特权

评论回复
26
isseed| | 2017-12-19 22:19 | 只看该作者
正常的单片机控制系统就是这么写的。

使用特权

评论回复
27
lzbf| | 2017-12-19 22:19 | 只看该作者
jiajs 发表于 2017-12-17 16:49
为什么用if语句不行,用while却可以

,发送完成TI值为1while(!TI) 的意思就是等待串口发送完成

使用特权

评论回复
28
houjiakai| | 2017-12-19 22:19 | 只看该作者
TI为1,(!TI)值为0,退出循环,向下执行

使用特权

评论回复
29
mituzu| | 2017-12-19 22:19 | 只看该作者
一般TI可以为完成标志

使用特权

评论回复
30
youtome| | 2017-12-19 22:19 | 只看该作者
使用延时函数也可以。

使用特权

评论回复
31
i1mcu| | 2017-12-19 22:19 | 只看该作者
发送结束后把TI设置为0,表明下次继续发

使用特权

评论回复
32
dengdc| | 2017-12-23 18:42 | 只看该作者

两个语句的是不一样的,一个是选择判断的,一个是循环判断的。。

使用特权

评论回复
33
lizye| | 2017-12-23 18:49 | 只看该作者
这两种语句的用法是有区别的。

使用特权

评论回复
34
jiaxw| | 2017-12-23 18:53 | 只看该作者
if为选择语句的,while为循环判断语句的,用途也不一样的。

使用特权

评论回复
35
spark周| | 2017-12-23 18:59 | 只看该作者
while语句的涉及到循环处理等待的问题,if只是一个选择性的问题的,在时间上没有等待的。

使用特权

评论回复
36
liliang9554| | 2017-12-23 19:08 | 只看该作者
楼上说的是,若要用if语句的就需要在其前面的加一个延时程序的。

使用特权

评论回复
37
shimx| | 2017-12-23 19:12 | 只看该作者
不过这个还是需要估计好硬件上的响应处理时间的,太短时间也是不行的。这个跟while相比,在实时性上大打折扣的。

使用特权

评论回复
38
dengdc| | 2017-12-23 19:16 | 只看该作者

逻辑不对吧。

使用特权

评论回复
39
jiajs|  楼主 | 2017-12-23 19:21 | 只看该作者
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先

使用特权

评论回复
40
jiajs|  楼主 | 2017-12-23 19:25 | 只看该作者
为什么用if语句不行,用while却可以

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则