![]() ![]() INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Klaus > Ich muss 32 Bytes hintereinander über die RS232 in die M-Unit 1.1 einlesen. Das ist selbst in BASIC möglich, allerdings darf die Leseschleife kein FOR..NEXT enthalten und der PAUSE-Befehl ist natürlich ebenso tabu. Ein "PAUSE 100" wartet 2 Sekunden. In der Zeit könnten 1920 Bytes über die RS232 übertragen werden. Hier ein Beispiel in OCBASIC. Mit diesem Verfahren lassen sich auch einige Bytes überlesen und nur ein Teil der Daten auswerten. Für CCBASIC muß OPTION und WHILE..WEND entfernt werden. Außerdem muß PUSH definiert werden und CCBASIC kennt nur "GET PUSH". ' 32 Bytes von der seriellen Schnittstelle (RS232) mit der C-Control 1.1 lesen ' Programmiersprache: OCBASIC und CCBASIC OPTION CCBAS DEFINE led PORT[2] DEFINE i BYTE DEFINE d1 BYTE DEFINE d2 BYTE WHILE TRUE led=ON GET i : GET i : GET i : GET i : GET i '30 Bytes empfangen GET i : GET i : GET i : GET i : GET i GET i : GET i : GET i : GET i : GET i GET i : GET i : GET i : GET i : GET i GET i : GET i : GET i : GET i : GET i GET i : GET i : GET i : GET i : GET i ' PUSH GET : PUSH GET : PUSH GET : PUSH GET : PUSH GET 'oder 30 Bytes ueberlesen ' PUSH GET : PUSH GET : PUSH GET : PUSH GET : PUSH GET ' PUSH GET : PUSH GET : PUSH GET : PUSH GET : PUSH GET 'In CCBASIC erforderlich: ' PUSH GET : PUSH GET : PUSH GET : PUSH GET : PUSH GET 'DEFINE PUSH AD[1] ' PUSH GET : PUSH GET : PUSH GET : PUSH GET : PUSH GET ' PUSH GET : PUSH GET : PUSH GET : PUSH GET : PUSH GET GET d1 'die letzten beiden Bytes lesen GET d2 led=OFF PRINT d1 'und deren Wert ausgeben PRINT d2 WEND Viele Grüße Dietmar Meine Homepage: http://ccintern.dharlos.de |
Antwort schreiben |