Was muss man tun, wenn aus irgenwelchen Gründen ein TWI - Error beim Master oder beim Slave auftritt? TWI_ERROR: ; TWI STOP ldi temp, (1<<TWINT)|(1<<TWEN)|(1<<TWSTO) out TWCR, temp ret oder sollte man besser ? Denn ich konnte es schon erreichen, dass das TWSTO-Bit im Register TWCR aus irgend welchen Gründen nach einer STOP-Anweisung nicht zurückgesetzt wurde und der TWI-BUS blieb blockiert :( TWI_ERROR: ; TWI STOP ldi temp, (1<<TWINT)|(1<<TWEN)|(1<<TWSTO) out TWCR, temp ; kurze Pause, damit ; Stop-Befehl korrekt ausgeführt werden kann rcall_wait_100ms ; TWI alles aus ldi temp, (1<<TWINT) out TWCR, temp ; TWI-ein (für Master 0<<TWIE / für SLAVE 1<<TWIE) ldi temp, (1<<TWINT)|(1<<TWEN)|(X<<TWIE) out TWCR, temp ret Danke Bernhard
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.