【问题标题】:Modify the AVR C program修改AVR C程序
【发布时间】:2016-04-21 17:55:45
【问题描述】:

我需要修改这张图片中的代码,以便我连接到 PORT D 位 7 的 LED 仅在两个开关都打开时才会闪烁。我也有一个连接到 PORT D 的第 5 位的开关。这是板载 LED 用于我的 arduino 的地方。我完全被困住了。 AVR C Program

【问题讨论】:

  • 这个问题有点令人困惑...您没有解释连接到端口 b 的内容,并且您似乎暗示您有 2 个交换机...但只提到连接到第 5 位的 1 D港
  • 您似乎已将 PORT B 的所有位设置为输出,这只是更多的 LED 吗?
  • if(x&0b00010000)(仅限引脚 4)更改为 if(x&0b00010000 && x&0b0010000)(引脚 4 和 5 均打开)。

标签: avr arduino-uno


【解决方案1】:

我假设您的 LED 在 D.7 上并打开(低电平有效)D.4 和 D.5(我不知道为什么在您的代码中提到端口 B。

unsigned char x;
 int main(void)
 DDRD = 0b10000000;
 PORTD = 0b00110000; //activate internal pull just in case
 x=PIND;
 x&=0b00110000; // just in case (again)
 if (x&0b00110000)
  {
   PORTD = 0b11000000; //blinks
   _delay_ms (500);
   PORTD = 0b00000000; //blinks
   _delay_ms (500);
  }
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    相关资源
    最近更新 更多