0

我有一个非常愚蠢的问题,但我无法找到答案。我正在开始 AVR 编程,我有一个问题,关于我找到的代码示例。

int main(void)
{
    DDRA = 0xFF; // Setting all port A pins for output

for(;;)
{
    PORTA = ~0x21; // Why ~ if we want PA0 and PA5 to be High?
    _delay_ms(10000);
}

那么为什么我们需要反转 0x21 呢?它应该在 PA0 和 PA5 上具有高电平,但是如果我们将其反转,它不应该是相反的(除了 PA0 和 PA5 之外的所有高电平)?

我试图搜索,但我没有找到任何解释。谢谢!

4

1 回答 1

0

问题在于我只看代码。您还应该始终检查方案以查看 UC 的连接方式。

在我的情况下,它是“反向”连接方式,其中“0”表示 LED 已打开。

于 2014-06-06T13:19:02.340 回答