Gambas-it
Gambas3 => Programmazione => Topic aperto da: akrobaticone - 13 Marzo 2013, 12:42:36
-
Non mi è molto chiaro l'esatto funzionamento dell'evento read() nel componente serial port
avviene quando si riceve il primo carattere?
nel caso la stringa sia molto lunga dovrei mettere un ritardo prima di andare a leggere la porta per permettere l'arrivo di tutta la trasmissione?
-
Non mi è molto chiaro l'esatto funzionamento dell'evento read() nel componente serial port
avviene quando si riceve il primo carattere?
nel caso la stringa sia molto lunga dovrei mettere un ritardo prima di andare a leggere la porta per permettere l'arrivo di tutta la trasmissione?
Non ho esperienza su gb.net, però, dato che la porta seriale fornisce i dati richesti da read un bit dietro l'altro, quindi molto lentamente rispetto alla velocità esecutiva del programma, giustamente, hai bisogno di ritardare l'esecuzione dell'istruzione successiva alla Read, perchè altrimenti il buffer di lettura/scrittura della porta non è ancora totalmente pronto.
L'istruzione che permette tale effetto è Wait (http://www.gambasdoc.org/help/lang/wait?it&v3)
Dovrai naturalmente capire bene il ritardo da imporre per permettere il riempimento del buffer.
:ciao:
-
quindi all'interno della read() dovrei mettere wait(tempo) e poi leggere il buffer?
questo però va bene se la lunghezza della stringa che arriva è nota e posso calcolare il tempo che ci vuole affinchè arrivi tutta nel buffer
il componente gb.net da questo punto di vista è un po primitivo...
-
...forse con un
For Read Watch...... :-X
-
...forse con un
For Read Watch...... :-X
???
-
???
All'incirca tipo qui:
http://www.gambas-it.org/wiki/index.php/Accesso_alle_Porte_Seriali
-
ma li non c'è il
for read watch
-
correggo
c'è ma non lo vedevo
si tratta di leggere il file corrispondente alla porta seriale
In lInux (quasi) tutto è un file, giusto?
-
si tratta di leggere il file corrispondente alla porta seriale
In lInux (quasi) tutto è un file, giusto?
Io con i "file" ci sguazzo !
(http://th250.photobucket.com/albums/gg260/FarrahnsMom/Emoticons/Animated/th_swimqqq.gif)
-
ora si che posso mettere RISOLTO!
con la seriale mi sento un pesce fuor d'acqua....
-
ora si che posso mettere RISOLTO!
con la seriale mi sento un pesce fuor d'acqua....
...però prima di nuotare fai la verifica con adeguate prove del codice. :-\
-
era solo una battuta :P
questa sera provo
ho parecchi problemi con un dispositivo modbus che non vuole comunicare, mentre un'altra scheda funziona perfettamente
la stessa scheda con un altro programma sotto win funziona
-
per la cronaca
il problema era l'istruzione PRINT# Sport che agiunge in fondo alla stringa un LF (0A)
ho usato WRITE e tutto ha funzionato
in ogni caso ho capito meglio il funzionamento della seriale
Grazie per le info