Forum: Mikrocontroller und Digitale Elektronik serielle Übertragung mit einem Philips-LPC21xx-uC


von Hauser (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich möchte eine serielle Übertragung (s. Zeitdiagramm im Dateianhang)
mit einem Philips-LPC21xx-uC realisieren. Ist folgender Code richtig?
Wichtig ist, ob man die Verzögerungen braucht?

// Initialisierung
IO0CLR = CS;
IO0CLR = SCLK;
IO0CLR = SID;

// Uebertragung
IO0SET = CS;
DelayNS(100);
IO0SET = SID; // fuer den Fall SID = 1
DelayNS(100);
IO0SET = SCLK;
IO0CLR = CS;

Danke im Vorraus
Hauser

von Yagan Ζ. D. (yagan)


Lesenswert?

Hauser,

so ganz scheint dein Code nicht mit dem Zeitdiagramm übereinzustimmen.
Wie wäre es mit:

// Initialisierung
IO0CLR = CS;
IO0SET = SCLK;
IO0CLR = SID; // kann entfallen, ist hier irrelevant.

// Uebertragung
IO0SET = CS;
DelayNS(TCSS-TSLW);
IO0CLR = SCLK;
IO0SET = SID; // fuer den Fall SID = 1
DelayNS(TSLW);
IO0SET = SCLK;
DelayNS(TSHW);
IO0CLR = SCLK;
DelayNS(TCSH-TSHW);
IO0CLR = CS;

Ob du die Verzögerungen brauchst, hängt davon ab, wie gross sie absolut
sind und wie schnell dein ARM getaktet ist.

Ciao, Yagan

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.