[SOLUCIONADO]
Hola.
Soy un iniciado de los mas básico (y burro parece).
Me da bastante vergüenza preguntar esto, pero...
1- ¿Como demonios puedo recibir 2 bytes seguidos correctamente?
Tengo un dispositivo enviándome 2 bytes cada 10milisegundos .
Si simplemente leo 1 a 1 los bytes que entran, perfecto, salen en un label correctamente, pero si lo intento esperando un segundo byte, ya no va bien, captura cada 10 segundos (o más), una combinación de esas (2 bytes).
Es como si el buffer se atascara.
2- No se puede limpiar el buffer con un clear o algo así?
Lo intente con la librería SLByteArrayBuffer, pero no me funciona.
¿Me podríais echar una mano por favor?, ya he leído 200 post sobre la recepción y captura del puerto serie, y no doy con ello, debo ser el mas torpe del foro con diferencia.
Lo intento así:
Sub AStreams_NewData (Buffer() As Byte) 'se recibió un dato
If Buffer.Length > 1 Then
clave = Buffer(0) ' se extrae la clave del primer byte
If Buffer (0) > 0 AND Buffer (0) < 12 Then ' si esta dentro de este valor
valor = Buffer(1) ' y el valor del segundo
If valor < 0 Then valor = 256 - Abs(valor)
End If
Bufer.Text = Buffer.length
enBuffer.Text = Buffer(0) & ": " & Buffer(1)
txtLog.Text = clave
valorText.Text = valor
verText.Text = verText.Text & clave & " : " & valor & " "
Buffer.clear
End If
End Sub
* aunque quite esta linea no mejora >> If Buffer (0) > 0 AND Buffer (0) < 12 Then
3- Por cierto, ¿como puedo conseguir leer bytes Unsigned?
¿no hay un método de recepción directo?
Vamos, que si le envian un byte en ASCII = 200, lea 200 y no -124 ( o lo que sea)
Perdonad mis formas, estoy ya bastante cansado y no lo consigo.
Saludos.
Hola.
Soy un iniciado de los mas básico (y burro parece).
Me da bastante vergüenza preguntar esto, pero...
1- ¿Como demonios puedo recibir 2 bytes seguidos correctamente?
Tengo un dispositivo enviándome 2 bytes cada 10milisegundos .
Si simplemente leo 1 a 1 los bytes que entran, perfecto, salen en un label correctamente, pero si lo intento esperando un segundo byte, ya no va bien, captura cada 10 segundos (o más), una combinación de esas (2 bytes).
Es como si el buffer se atascara.
2- No se puede limpiar el buffer con un clear o algo así?
Lo intente con la librería SLByteArrayBuffer, pero no me funciona.
¿Me podríais echar una mano por favor?, ya he leído 200 post sobre la recepción y captura del puerto serie, y no doy con ello, debo ser el mas torpe del foro con diferencia.
Lo intento así:
Sub AStreams_NewData (Buffer() As Byte) 'se recibió un dato
If Buffer.Length > 1 Then
clave = Buffer(0) ' se extrae la clave del primer byte
If Buffer (0) > 0 AND Buffer (0) < 12 Then ' si esta dentro de este valor
valor = Buffer(1) ' y el valor del segundo
If valor < 0 Then valor = 256 - Abs(valor)
End If
Bufer.Text = Buffer.length
enBuffer.Text = Buffer(0) & ": " & Buffer(1)
txtLog.Text = clave
valorText.Text = valor
verText.Text = verText.Text & clave & " : " & valor & " "
Buffer.clear
End If
End Sub
* aunque quite esta linea no mejora >> If Buffer (0) > 0 AND Buffer (0) < 12 Then
3- Por cierto, ¿como puedo conseguir leer bytes Unsigned?
¿no hay un método de recepción directo?
Vamos, que si le envian un byte en ASCII = 200, lea 200 y no -124 ( o lo que sea)
Perdonad mis formas, estoy ya bastante cansado y no lo consigo.
Saludos.
Last edited: