Thema: Delphi TComport - Byte senden

Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

AW: TComport - Byte senden

  Alt 12. Mai 2011, 11:59
Meine 20 Bytes sind fest. Da sind noch die 5 Transistoren um die Ebenen zu schalten. Das sind die 1 in meinem Muster.
Und pro Zeile sind das dann die Ausgangszustände meines AtMegas.
Das heisst also der kleinstmögliche Befehl schaltet eine Zeile auf allen drei Ebenen
und benötigt dazu 4 Bytes:
Code:
&B00010000  &B00000000  &B00000000  &B00000000

Meine Frage ist also wie kann ich ein Byte einzeln senden,
Das ist eine ganze schlechte Idee, weil durch den FIFO in der seriellen Schnittstelle kannst du sowieso das Timing wie die Byte rausgehen nicht kontrollieren.

Ich würde es so machen, dass immer ein Befehlbyte gefolgt von den 4 Datenbytes gesendet wird.

Code:
Befehl     Row-Select  EbeneA     EbeneB      EbeneC
&B00000001 &B00010000  &B00000000  &B00000000  &B00000000
Wenn der AT-Mega den Befehl &B00000001 bekommt, dann weiss er, dass noch 4 weitere Byte folgen müssen.
Er empfängt die 4 Bytes schickt diese auf seine Ports und wartet auf den nächsten Befehl.
Im Delphiprogramm wird der Befehl inklusive der Daten auf einen Rutsch gesendet; nur so macht das Sinn.

Ich mal folgende Befehle vorsehen:
&B00000001 - Beschreibung oben
&B00000011 - Alle LEDs an
&B00000101 - Alle LEDs aus
&B00000111 - Alle LEDs invertieren
Andreas
  Mit Zitat antworten Zitat