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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.