TWI, int geht nicht

Gast #431819
Lesenswert?
• ▲
▼
        .org TWIaddr
  jmp TWI              ; Two-wire Serial Interface Handler
.
.
.

twi_init:
  in r16,TWSR
  ;andi r16,0b11111100  ; setze prescaler auf 1 (bit0 und bit 1)
  ori r16,3
  out TWSR,r16
  ldi r16,255      ; 10 ist minimum fuer korrekten transfer als master
  out TWBR,r16  ;   bit rate register;

        sei
  ldi r16, (1<<TWINT)|(1<<TWSTA)|(1<<TWEN)|(1<<TWIE)
        out TWCR, r16
ell:    rjmp ell

TWI:
  sbi portc,7
  reti

Der TWI-int wird nie aufgerufen (portc,7 ist zum debuggen). Wenn ich sbi 
portc,7 direkt vor ell: setze geht die LED an dem Pin an (also am port 
i/O liegts nich ;) ).
Wo ist in dem Code der Fehler?
Danke SiO2
Gast #431887
Lesenswert?
• ▲
▼
Hehehe, das kenne ich auch :) Ich habe fast 12 Stunden gebraucht um 
heraus zu finden, dass ein Controller in der Schaltung den Bus immer auf 
Low gezogen hat. Tröste Dich, solche Fehler macht man nicht zweimal ;) 
und man lernt immer wieder was dazu.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

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.