2013-06-24 33 views
1

我是這個論壇的新手,我也是PIC編程的新手。 我不明白,爲什麼我的代碼無法正常工作?這是這個簡單的代碼:混淆PIC 18F4620

void main() { 

    TRISB = 0; 
    TRISD = 0; 

    while(1) 
    { 
      LATD.RB6 = 1; 
      Delay_ms(1000); 
      LATD.RB6 = 0; 
      Delay_ms(1000); 
      LATD.RD0 = 1; 
      Delay_ms(1000); 
      LATD.RD0 = 0; 
      Delay_ms(1000); 
    } 
} 

代碼的影響是,RD0上的LED閃爍,並且RD1上的LED永久打開!在RB6上沒有任何事情發生。

請注意,我正在使用帶有Tiny Bootloader的開發板。 提前謝謝!

回答

4

有一個錯字 - Latch D沒有B6針!將LATD.RB6更改爲LATB.RB6,它應該可以工作。

如果你不想RD1要上,你可以做LATD.RD1 = 0

固定碼:

void main() { 

TRISB = 0; 
TRISD = 0; 

LATD.RD1 = 0; 
while(1){ 
     LATB.RB6 = 1; 
     Delay_ms(1000); 
     LATB.RB6 = 0; 
     Delay_ms(1000); 
     LATD.RD0 = 1; 
     Delay_ms(1000); 
     LATD.RD0 = 0; 
     Delay_ms(1000); 
} 
} 

希望這有助於!

+0

哦,對不起,我不應該在編寫代碼時複製粘貼章節。謝謝! :) –