2016-12-06 25 views
0

我有一个while循环的问题。用分号表示while循环是什么意思

while(!PORTB.F4);   //Waiting for Echo 
T1CON.F0 = 1;    //Timer Starts 
while(PORTB.F4);   //Waiting for Echo goes LOW 
T1CON.F0 = 0;    //Timer Stops 

执行此等于

while(!PORTB.F4){ 
    T1CON.F0 = 1;    
} 
while(PORTB.F4){    
    T1CON.F0 = 0; 
}    
+6

没有他们当然是不一样的。任何基本的C书都会告诉你。运行一些简单的测试也会告诉你。 – kaylum

回答

4

while(!PORTB.F4);基本上意味着 “执行PORTB.F4,直到它返回/等于true”。

这里是(我觉得)你的代码做的基础上,评论:

while (!PORTB.F4);   // Wait for PORTB.F4 to equal 1 (true) 
T1CON.F0 = 1;    // When PORTB.F4 equals 1, set T1CON.F0 to true 
while (PORTB.F4);   // Wait for PORTB.F4 to equal 0 (false) 
T1CON.F0 = 0;    // When PORTB.F4 equals 0, set T1CON.F0 to false 
+0

谢谢你的回答。 –