| |
|
|
GDL | Ciao,
kam heute per Zufall darauf, dass folgende Routine zwar den Empfangspuffer ausliest, aber nicht leert. Nur wenn Io l' ausgeremten Teil dazunehme gibts keinen Pufferüberlauf. KompilierenMarkierenSeparierendeclare comi1&,erfolg%,comwert$
cls
comi1&=opencom(Com1:,4096,4096)
erfolg%=SetCom(COM1:9600,N,8,1)
proc lesen
comwert$=@ReadCom$(comi1&,1)
@ComError(comi1&)
whilenot comwert$=
comwert$=@ReadCom$(comi1&,1)
@ComError(comi1&)
wend
closecom(comi1&)
comi1&=opencom(Com1:,4096,4096)
erfolg%=SetCom(COM1:9600,N,8,1)
endproc
whilenot 0
lesen
wend
closecom( )
Ich nahm immer an, dass die Anzahl der gelesenen Zeichen, den Puffer um diesen Wert wieder freigibt. Kennt von euch jemand einen Befehl zum Puffer löschen?
Servus Georg |
|
|
| |
|
|
|
GDL | Ciao, habe den Code nun mit Aiuto von Frank Steinberg modifiziert.Jetzt gehts. KompilierenMarkierenSeparierendeclare comi1&,erfolg%,comwert$,SSuccess&
DEF @PurgeComm(2) !KERNEL32,PurgeComm
cls
comi1&=opencom(Com1:,4096,4096)
erfolg%=SetCom(COM1:9600,N,8,1)
proc lesen
comwert$=@ReadCom$(comi1&,1)
@ComError(comi1&)
whilenot comwert$=
comwert$=@ReadCom$(comi1&,1)
@ComError(comi1&)
wend
closecom(comi1&)
comi1&=opencom(Com1:,4096,4096)
erfolg%=SetCom(COM1:9600,N,8,1)
LET SSuccess& = @PurgeComm(comi1&,8)
drawtext 20,50,Erfolg : +str$(ssuccess&)
endproc
whilenot 0
lesen
wend
closecom(i1&)
Roland, ich würde mir per XProfan11 bitte Profaninterne Löschbefehle per den Lese und Schreibpuffer wünschen.Danke.
Servus Georg |
|
|
| |
|
|
|
RGH | GDL
Roland, ich würde mir per XProfan11 bitte Profaninterne Löschbefehle per den Lese und Schreibpuffer wünschen.Danke.
Hallo Georg, das ist eine gute Idee! Ich werde das gleich mal in den passenden Forumsbereich (Proposte per künftige XProfan-Versionen) kopieren!
Saluto Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 09.03.2007 ▲ |
|
|
|