Dudas con buffer de USB (HIB) en mikrobasic y visual basic

Hola, que tal...

mi duda es respecto a como se usan los buffers de entrada y salida, explico:

tengo algunos progras que en profesor que alguna ves dio una materia explicando como hacer la conexion HID, con easy HID, y usando mikrobasic.

- me encantaria compartir los programas, pero dado que no son mios, no creo que deba, ademas, creo que hay mucho material-

este es el segmento de codigo - el importante-

while true 'ciclo infinito
k = HID_Read
i = 0 'inicializa variable
while i < k 'ciclo condicinal

ch = userRD_buffer[0] ' asigna a "ch" lo que hay en el buffer 0 de leer
userWR_buffer[0] = ch + 1 'al buffer 0 de escritura le asigna "ch+1"
PORTB = ch ' manda "ch" al puerto B

HID_Write(@userWR_buffer, 1) 'esta instruccion sirve para enviar lo que hay en
inc(i) 'en bufer 0 - de escritura
wend 'incrementa i
wend 'cierra los whiles
HID_Disable
la parte de Visual Basic es la siguiente:

implementado en un boton - el de incrementar- :

i = i + 1 'incrementa i

BufferOut(1) = i 'lo manda al buffer se salida

hidWriteEx VendorID, ProductID, BufferOut(0) 'instruccion para enviar al PIC

If i >= 255 Then 'condicion para borrar i
i = 0
End If
En otro ejemplo en el cual el PIC envia datos al PC


ch = userRD_buff[0] ' variable ch es lo que hay en userRD

select case ch ' selecciona caso
case 0
temp_res = Adc_Read(0) 'lee entrada analogica
temp_res = temp_res >> 2 ' desplaza 2 bits
res0 = temp_res 'asigna a res0
userWR_buff[0] = res0 'la manda al buffer de escritura
HID_Write(@userWR_buff, 1) 'instruccion para enviar datos del buffer
case 1
PORTB.0 = 1
case 2
PORTB.0 = 0
case else
'res = 0
'cnt = cnt + 1
end select
en la parte del VB esta lo siguiente :

valor_I = BufferIn(1) * 4
valor_I = valor_I * 0.09765 * 100
valor_F = valor_I / 100
Text1.Text = Str(valor_F)
por lo que parece el buffer 0 es en el que se escriben las cosas antes de mandarlas y el 1 es para enviar/recibir, no????

alguien me puede explicar que onda con esto :D

2 cosas mas


para que sirven los demas buffers?

en la parte del VB en la declaracion de variables esta lo siguiente :
Private Const BufferInSize = 8
Private Const BufferOutSize = 8
Dim BufferIn(0 To BufferInSize) As Byte
Dim BufferOut(0 To BufferOutSize) As Byte
y la segunda es :

para que sirve HID_Read? en la ayuda de mikrobasic dice que devuelve el numero de caracteres en el buffer de lectura proveniente del PC

("Number of characters in the Read Buffer received from the host".)


a que caracteres se refiere???



saludos.
 
Última edición:
Atrás
Arriba