>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