Hallo alle zusammen,
die mC-Welt macht mir wahnsinnig viel Spaß und ich will sie schneller
näher kennenlernen.
Nun meine Frage, ich habe jetzt eine Platine gebaut und einen Taster am
PD6 (PCINT30) angebracht. Allerdings schaffe ich es nicht den Interrupt
richtig zu konfigurieren. Geht es überhaupt am PCINT30 einen Interrupt
durch den Taster auszulösen?
Habe zum Testen den Taster an PCINT0 angeschlossen und der Interrupt
wird ausgelöst! Wo ist dann das Problem? Ist PCINT30 nicht
interruptfähig?
Hier der Auszug:
#include <avr/interrupt.h>
#include <util/delay.h>
int main(void) {
void PCINT0_Init(void); //Prototyp
void PCINT30_Init(void); //Prototyp
PCINT0_Init();
PCINT30_Init();
}
while(1){
_delay_ms(100);
}
ISR(PCINT30_vect) // !!! DIERSER VECTOR WIRD VON AVR NICHT ERKANNT??????
{
PORTA | = (1<<PINA5); // LED AN
}
ISR(PCINT0_vect) // !!! DIERSER VECTOR WIRD VON AVR ABER ERKANNT
{
PORTA | = (1<<PINA6); // LED AN
}
void PCINT30_Init(void) // Initialisierung PCINT30 PIN
{
DDRD &= ~(1 << PIND6); // D7 als Eingang
PORTD |= (1 << PORTD6); // Eingang mit pull-up enable
PCICR |= (1 << PCIE3);
PCMSK3 |= (1 << PCINT30);
sei();
}
void PCINT0_Init(void) // Initialisierung PCINT0 PIN
{
DDRA &= ~(1 << PA6); // D7 als Eingang
PORTA |= (1 << PA6); // Eingang mit pull-up enable
PCICR |= (1 << PCIE0);
PCMSK0 |= (1 << PCINT0);
sei();
}
Hi
>ISR(PCINT30_vect) // !!! DIERSER VECTOR WIRD VON AVR NICHT ERKANNT??????
Lt. Datenblatt sollte der PCINT3_vect heißen.
MfG Spess
Im Datenblatt unter Interrupts steht genau welche Interrupts es gibt. Bei PCINT werden immer 8 zusammengefasst.
Probelm gelöst!!! Ihr habt Recht!!! Sehe es jetzt auch! Vielen Dank! Jetzt ist die Welt wieder gut :) Klasse! Ich freue mich jetzt wie ein Kind :)
Nochmal herzlichen Dank, habe mir schon Finger rund gegoogelt gehabt...
Hi
>Nochmal herzlichen Dank, habe mir schon Finger rund gegoogelt gehabt...
Manchmal reicht es, das Datenblatt zu lesen.
MfG Spess
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.