External interrupt på PC0 vid falling edge
Postat: 25 juni 2013, 18:36:21
Hej på er, sitter och funderar över extern interrupt ATMEGA324P. Som det är nu genererar den interrupt både på rising och falling edge och jag vill ha en interrupt _endast_ på falling edge. Hur bär man sig åt då?
Så här ser koden ut för att sätta upp external interrupt ut:
och vektorn för external interrupt:
Så hur får jag min interrupt att köra koden enbart på falling edge, om det nu går?
EDIT: Kom på hur jag skall göra. Var ju barnsligt enkelt
Edit 2: Struntar i macron för bit_get och BIT, för det kan säkert alla som läser detta ändå.
Så här ser koden ut för att sätta upp external interrupt ut:
Kod: Markera allt
PCICR |= (1<<PCIE2);
PCMSK2 |= (1<<PCINT16);
Kod: Markera allt
ISR(PCINT2_vect)
{
//Superhemlig kod för att generera ett pip......
}
EDIT: Kom på hur jag skall göra. Var ju barnsligt enkelt
Kod: Markera allt
ISR(PCINT2_vect)
{
if(bit_get(PINC,BIT(0))==0) //Denna rad ger "falling edge"
{
//Superhemlig kod för att generera ett pip......
}
}