作者endlessbbs ()
站內C_and_CPP
標題[語法] 關於WHILE迴圈問題
時間Mon Aug 24 23:41:51 2009
小弟是c++超新手
想要用while迴圈讓led燈產生明滅變化
把while的判斷條件用--運算子,想說當while(0)時就會跳到下個迴圈執行
但是模擬時只有第一個迴圈會跑動,跑到到第二個while時就跳不出來了
想請問錯誤在哪,希望各位大大不吝指教<(_ _)>
#include <reg51.h>
sbit ADCRD=P3^7 ;
sbit ADCWR=P3^6 ;
sbit ADCINTR = P3^2;
main()
{
unsigned int delay=10;
P1= 0x00;
while(--delay);
P1= 0xAA;
while(--delay);
P1= 0xFF;
while(--delay);
P3 = 0XFF;
P2 = 0XFF;
while(1)
{
ADCWR = 0 ; ADCWR = 1;
while ( ADCINTR );
ADCRD = 0 ; ADCRD = 1;
P1= P2 ;
while(--delay);
}
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.170.172.242
1F:推 VictorTom:進去第二個while之前不用把delay重設回0或其他值嗎?? 08/24 23:51
2F:→ blestadsl:delay=0之後~~在--下去~應該不會在變成0 08/24 23:51
3F:→ VictorTom:或者您有試過, unsigned的var已經為0時, 又--會發生什 08/24 23:52
4F:→ VictorTom:麼事嗎....:) 08/24 23:52
5F:→ VictorTom:等overflow繞一輪回來, 理論上還是會到0的....XD 08/24 23:53
6F:→ endlessbbs:原來如此阿@@~謝謝大大的意見 08/25 00:05
7F:推 VictorTom:靠夭, 第一推應該是重設回10或其他值, 又typo....Orz 08/25 00:06