.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
Der Code geht. Peinlich,Peinlich. Ich hab die Pullup-R zwar angeloetet, aber die verbindung zu Vcc fehlte an den R's. Stundenlange Fehlersuche, und dann sowas.
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.
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.