1

我不明白,为什么我的代码不能正常工作?这是这个简单的代码:

 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

1 回答 1

4

有一个错字 - 闩锁 D 没有引脚 B6!更改LATD.RB6LATB.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);
 }
}

希望这可以帮助!

于 2013-06-24T17:41:13.717 回答