Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > > > > Hallo Peter > > > > > > > > Danke dass du dir die mühe gemacht hast und das Programm reingestellt hast. > > > > > > > > Mit deinem Kommentaren dazu ist alles glas klar. Ich finde die C-control richtig toll... mit all den > > > > Möglichkeiten die Sie einem bietet. > > > > > > > > lg > > > > mave > > > > > > Hallo Mave und PeterS, > > > > > > bin kein Basicer und habe mal zwei Fragen > > > zum obigen Code. > > > > > > <basic> > > > If Serial_IRQ_Info(0,RS232_FIFO_RECV)>0 Then > > > c=Serial_ReadExt(0) ' Zeichen aus RS232 holen, 256(0x100)bedeutet es war kein Zeichen im FIFO > > > If c<256 Then ' Wenn Zeichen im FIFO war, dann... verarbeiten des abgeholten Zeichens > > > </basic> > > > > > > Kann 'Serial_ReadExt(0)' etwas anderes außer '256' zurückgeben > > > wenn nichts im Empfangspuffer steht? > > > Oder anders Gefragt. > > > Kann der Ausdruck 'c<256' auch falsch werden? > > > > > > <basic> > > > i=0 ' Reset des Zählers für Zwischenspeicher > > > Str_Fill(abc,0,29) ' Löschen des Zwischenspeichers durch Einschreiben von "0" > > > End If > > > </basic> > > > > > > Was passiert mit dem Arrayindex 'i' wenn > > > kein CR rechtzeitig erkannt wird? > > > > > > > > > Gruß Torsten > > > > Hallo Torsten, > > > > Du hast schon recht, wenn man vorher mit Serial_IRQ_Info(0,RS232_FIFO_RECV) prüft > > ob Zeichen im Empfangspuffer sind, dann muß man bei Serial_ReadExt() nicht extra prüfen. > > Man sollte auch überprüfen ob der Arrayindex zu groß wird, falls kein CR kommt. > > > > Gruss Peter > > Hallo Torsten,Peter,Mave > > Asche auf mein Haupt...und vielen Dank für die Hinweise! > Auch wenn der Code nur auf die Schnelle reingeklopft war sollte man natürlich nicht gleich > schlampig werden. > > 1.) Klar bringt "doppeltes Prüfen" nix. Ist mir sozusagen "reingerutscht" weil ich ursprünglich > beide Möglichkeiten für Mave anführen wollte und dann vergessen habe eine der beiden Varianten > wieder rauszunehmen (bzw. als Kommentar auszuführen). > > 2.) Und der Arrayindex 'i' sollte natürlich abgefangen werden bevor er überläuft. > Hierzu kann ich nur Geistesabwesenheit als Erklärung anbieten :-))) > > Übrigens: > Weiß eigentlich jemand eine elegantere und resourcenschonendere Variante als die "Str_Fill-Methode > mit Null" um die Variable 'abc' zu reseten? > Code: > (Str_Fill(abc,0,29) ' Löschen des Zwischenspeichers durch Einschreiben von "0") > > Also in diesem Forum werden die Codes wirklich gelesen. Sehr positv!!! > > Schöne Grüße > Peter