aha, nen ersten Fehler hab ich schonmal ausgekuckt:
Du verwendest Hardware SPI:
Config Spi = Hard , Interrupt = Off , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Noss = 1 , Clockrate = 16 'Test mir Atmega wegen HardwareSPI
und weiter im Code dann:
Spiout Mcphilf , 1
Set Css
Das kann schonmal klemmen.
Der SPI hat nen Ausgangspuffer, den Du mit SPIOUT beschreibst.
Nun braucht die Übertragung aber n kleines Weilchen, weil die Daten
ja seriell rausgeschoben werden. Beim SPIOUT-Befehl bin ich mir nicht sicher,
ob das Programm an der Stelle anhält bis dieDaten raus sind, oder obs weiter läuft.
Es könnte in zweitem Falle dann geschehen, das Du den Chip Select setzt,
bevor die Daten dann auch wirklich drüben sind.
ich gehe da so vor:
Spdr = Mcphilf
Do
Loop Until Spsr.spif = 1
Set Css
Das Seelbige haste auch so ziemlich in allen Kommunikationsroutinen
für den MCP drinne. Das Spsr.spif hättste auch schon bei den
C-Sample-Codes sehen können![]()
Lesezeichen