Gast
#229294
Hallo, ich entwerfe gerade eine Porterweiterung für einen Atmega8 mittels 2 PISO-Schieberegistern, allerdings habe ich ein bischen Zweifel, ob ich richtig verstanden habe, wie das dann am SPI abläuft. Bisher hab´ich das so verstanden: - Die S//L-Eingänge der Register werden high gesetzt. - Daraufhin setzen die Register ihre Port-Latches und frieren so die Werte an den Eingängen ein. - Der MC veranlasst die SPI-Schnittstelle, ein Byte zu lesen. - SPI sendet 8 Takte an die Schieberegister der Controller empfängt die ersten 8 Bit des Schieberegisters, welches als erstes am Controller angeschlossen ist. - Byte verarbeiten/speichern. - Der MC veranlasst die SPI-Schnittstelle abermals, ein Byte zu lesen. - Es werden weitere 8 Takte gesndet, jetzt kommen die 8 Bit aus ehemals dem nächsten Schieberegister (die beim ersten Mal in das Prozessornähere Register gewander waren). - Speichern/Verarbeiten - S//L wird zurückgesetzt, die Register sind bereit für neue Eingangswerte. Stelle ich mir das so richtig vor?` Zweite Frage: Wenn ich den SPI auch noch für die Programmierung des MC nutzen will, und die Schieberegister parallel dazu am SPI hängen, genügt es dann, wenn S//L nicht gesetzt wird, damit kein Schlamassel passiert, oder sollte die Leitung dann besser galvanisch getrennt werden? Gruß, Harald