Hallo,
richtig den PB1 habe ich an die Taste angeschlossen und er Taster liegt an Masse. Ich habe auch noch einen Pullup Widerstand von 1kOhm zusätzlich an PB1 angeschlossen, aber das bringt auch nicht. Hier mal der ganze Code. Wenn ich den Interrupt einschalte geht das LED aus und leutet kurz auf. Egal ob ich den Taster drücke oder nicht. Habe auch PCMSK mal rausgeschmissen und den Attiny gewechselt. Überall das gleiche. Keine Reaktion auf einen Tastendruck.https://www.roboternetz.de/phpBB2/im.../eusa_wall.gif
Brick wall
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
int main( void )
{
DDRB = 0xFF; // Alles als Ausgang deklarieren
DDRB &= ~(1<<PORTB1); // PB1 als Input setzen
PORTB |= (1 << PB1); // Pin 1 auf High
PORTB |= (1 << PINB4); // LED an
/* PCMSK |= (1 << PB1);
MCUCR &= ~(1<<ISC01) & ~(1<<ISC00);
GIFR |= (1 << INTF0);
GIMSK |= (1 << INT0);
sei(); // Globalen Interrupt zulassen
*/
while(1)
{
if( bit_is_clear(PINB, PB1))
PORTB |= (1 << PB4);
else
PORTB &= ~(1 << PB4);
}
}
ISR(INT0_vect)
{
int i;
PORTB &= ~(1 << PINB4);
for(i = 0;i <10; i++)
_delay_ms(10);
}
Gruß
Frank
Lesezeichen