簡體   English   中英

是否可以將PCINT0和PCINT1用於atmega328pb上的所有引腳中斷?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM