Hi Leute, ich habe einen Attiny 2313 als Schnittstelle zwischen PC und einem I2C Bus. Eine LED soll dabei eine Datenübertragung anzeigen. Die geht auch an - aber nie wieder aus. Woran könnte das liegen? Hier mal der Code: ////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// #include <avr/io.h> #include <avr/interrupt.h> ////////////////////////////////////////////////////////////////// // MAIN ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////// int main(){ // Initialisierung /////////////////////////////////////////// cli(); // Interrupts für Initialisierung AUS // Ausgänge setzen DDRA = 0b00000011; // PortA0 und PortA1 Ausgang DDRB = 0b01000000; // LED(PB6) Ausgang DDRD = 0b00000000; // PortD alle Eingang PORTA = 0b00000000; // PORTB = 0b01000000; // LED HIGH(aus) PORTD = 0b00000000; // USICR = 0b10100000; // Bit7 Start Condition InterruptEnable // Bit5 Two-wire mode ohne Overflow sei(); // Interrupts AN // Initialisierung beendet /////////////////////////////////// // Hauptschleife ///////////////////////////////////////////// while(1){ PORTA = PIND; if(USISR & (1<<USIPF)){ PORTB |= 0b01000000; // LED aus USISR |= 0b00100000; // Stop flag reset } } return 0; } ////////////////////////////////////////////////////////////////// // INTERRUPT-Routinen //////////////////////////////////////////// ////////////////////////////////////////////////////////////////// ISR(USI_START_vect){ PORTB &=0b10111111; // LED an }
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.