[英]Can I use PCINT0 and PCINT1 for all pin interrupts on atmega328pb?
我正在嘗試使其按下PINB7(這是波頓的針腳)LED點亮。 板上的PINB7是PCINT8。 所以我設定
PCICR|=(1<<1);//enable interrupts for pins 14-8
sei();
PCMSK1|=(<<PCINT8); // mask for pin 8
我沒有在ISR中使用什么向量。 從我所看到的,我應該只做PCINT8_vect,但是矢量不會像我使用“ TIMER2_COMPB_vect”那樣突出顯示。那么PCINT8矢量不存在或者有沒有辦法使用PCINT0和1?
顯然,在mega328pb上,沒有用於單個引腳中斷的向量,但是對於PCIE0、1、2、3有向量。 0位0:7 1-8:14 2-16:23 3-24:27
因此,如果您想對插針b7使用中斷。 PB7是PCINT7(可以在關於I / O端口的章節中看到)。 因此,id必須在PCIRC寄存器中啟用PCIE0,並將其正確屏蔽為TMSK0。 並使用ISR(PCINT0_vect)。 但是,如果在PCINT6和PCINT7上有中斷,則需要在ISR中是否需要確定2個引腳中的哪一個觸發了中斷
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.