[問題] 關於WHILE迴圈問題

看板C_and_CPP (C/C++)作者時間16年前 (2009/08/24 23:41), 編輯推噓2(205)
留言7則, 3人參與, 最新討論串1/1
小弟是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

08/24 23:51, , 1F
進去第二個while之前不用把delay重設回0或其他值嗎??
08/24 23:51, 1F

08/24 23:51, , 2F
delay=0之後~~在--下去~應該不會在變成0
08/24 23:51, 2F

08/24 23:52, , 3F
或者您有試過, unsigned的var已經為0時, 又--會發生什
08/24 23:52, 3F

08/24 23:52, , 4F
麼事嗎....:)
08/24 23:52, 4F

08/24 23:53, , 5F
等overflow繞一輪回來, 理論上還是會到0的....XD
08/24 23:53, 5F

08/25 00:05, , 6F
原來如此阿@@~謝謝大大的意見
08/25 00:05, 6F

08/25 00:06, , 7F
靠夭, 第一推應該是重設回10或其他值, 又typo....Orz
08/25 00:06, 7F
文章代碼(AID): #1AahJ0V4 (C_and_CPP)
文章代碼(AID): #1AahJ0V4 (C_and_CPP)