我有极其愚蠢的问题,但我无法找到答案。我正在启动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外都是高电平)?
我试图搜索,但我没有找到任何解释。谢谢!
答案 0 :(得分:0)
问题在于我只关注代码。您还应该始终检查方案以了解UC的连接方式。
在我的情况下,它是"颠倒的"连接方式,其中" 0"意味着LED开启了。