Attiny 2313 - Problem mit USIPF

Gast #973945
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

}

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.