-
-
Neuer Benutzer
Öfters hier
Hallo Bernard
Ich habe 2 Fragen zu deinem MASTER.asm Code
1.
Du hast eine Fehlerprüfung, die guckt ob WCOL gesetzt wurde (SPDR wird geschrieben wenn gerade Datatransfer stattfindet)
SPI_SPSR_AUSWERTEN:
in temp, SPSR ; einlesen
andi temp, 0b01000000 ; BITMUSTER
tst temp
brne SPI_SPSR_AUSWERTEN_ERROR
sbi PORTB, B_LED ; LED aus
ret
SPI_SPSR_AUSWERTEN_ERROR:
cbi PORTB, B_LED ; LED an
Dort hast du aber keine "Problemlösung" als Abhilfe, sondern nur eine LED.
Ist der Fall schonmal vorgekommen dass diese geleuchtet hat?
Bin am überlegen das bei mir auch zu implementieren.
2.
Das alte Problem mit dem SPIF:
SPI_SENDEN:
; MASTER SS auf LOW
cbi PORTB, 2
; Start transmission of data
out SPDR,temp
; Wait for transmission complete
SPI_SENDEN_w:
sbis SPSR,SPIF
rjmp SPI_SENDEN_w
; MASTER SS auf HIGH
sbi PORTB, 2
Dort setzt du SPIF nicht zurück. Und es funktioniert trotzdem??
-
Erfahrener Benutzer
Fleißiges Mitglied
@Magnetus
>Dort hast du aber keine "Problemlösung" als Abhilfe, sondern nur eine >LED. Ist der Fall schonmal vorgekommen dass diese geleuchtet hat?
>Bin am überlegen das bei mir auch zu implementieren.
Kommt im "Normalbetrieb nicht vor, dass ein "Fehler" auftritt,
wollte nur zur Veranschaulichung dieses wichtige Register auswerten.
>Dort setzt du SPIF nicht zurück. Und es funktioniert trotzdem??
ja, wird automatisch mit der OUT-Anweisung gelöscht
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen