-
-
Erfahrener Benutzer
Fleißiges Mitglied
>Wenn ich einen 8MHz Quarz statt des 4er bei den CAN-Transceivern >nehme, wird etwa 3mal soviel korrekt übertragen wie vorher
...hab jetzt mal einige Minuten auf die Schaltpläne gestarrt, so langsam verstehe ich dieses gesamte-Prinzip, denn Du hattes mir ja auch nicht auf meine Fragen so richtig geantwortet 
Mein Tipp, so auf die schnelle:
- füge mal längere Pausen ein, bermutlich gibt es TIMING-Probleme im CAN-IC
BSP:
; WRITE COMMAND
ldi temp,WRITE
out SPDR,temp
wait_spi_w1:
sbis SPSR,SPIF ; Transmission complete?
rjmp wait_spi_w1
in temp,SPDR ; release SPIF here
; SET ADDRESS
out SPDR,address
wait_spi_w2:
sbis SPSR,SPIF ; Transmission complete?
rjmp wait_spi_w2
in temp,SPDR
ändern in:
; WRITE COMMAND
ldi temp,WRITE
out SPDR,temp
wait_spi_w1:
sbis SPSR,SPIF ; Transmission complete?
rjmp wait_spi_w1
in temp,SPDR ; release SPIF here
;-----------------
rcall PAUSE_100ms
; -----------------
; SET ADDRESS
out SPDR,address
wait_spi_w2:
sbis SPSR,SPIF ; Transmission complete?
rjmp wait_spi_w2
in temp,SPDR
Gib den CAN-IC genügend Zeit, seine Daten zu verarbeiten,
bremse mal alles etwas, nicht, dass er total überfordert wird 
Bernhard
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen