我正在使用 ATmega88PA 来查找 2 个引脚上的引脚变化。我想使用 PCINT0 和 PCINT2,尽管如果我需要使用不同的引脚,我还有很多其他引脚打开。我一直在搞事情,并且能够让 PCINT0 正常工作,当我试图让 PCINT2 工作时,我的问题就出现了。
如果我以与使 PCINT0 工作相同的方式定义和设置 PCINT2,则不会发生任何事情。我什至在一个新程序中也试过这个,只是为了看看是否有其他东西以某种方式干扰,但这并没有解决任何问题。我什至一起摆脱了 PCINT0,看看我是否可以让 PCINT2 自己工作,但我仍然无法做到。
这是我为 PCINT0 提供的代码
DDRC = 0x20; // PORTC,5 is now output
sbi(PORTC,5);
USART_Init(51);
lcd_init(LCD_DISP_ON);
lcd_clrscr();
PCICR |= (1 << PCIE0);
PCMSK0 |= (1 << PCINT0);
如果我将所有内容更改为 PCMSK2 和 PCINT2,则触发该引脚时不会发生任何事情。这是 ATmega88PA数据表的数据表链接