Autor Tema: RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID  (Leído 3334 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID
« en: 07 de Enero de 2011, 20:01:29 »
Hola amigos!!!

Estoy haciedo un proyecto donde envio desde un pic 18f2550 una cadena de 149 datos numericos, uno tras otro a traves del puerto USB al PC, en el PC tengo un programita en visual basic donde deseo visualizar la cadena de datos provenientes del PIC. La visualizacion la deseo hacer en un textbox, hasta ahora he conseguido visualizar los datos pero uno por uno.  Y lo que deseo es visualizar de tal forma que el siguiente dato que envia el PIC se añada mas no reemplazca al anterior,  me hice explicar?  Les pongo el codigo fuente:

PIC - MicrocodeStudio - PBP
' ************************************************************
usbinit                         ' initialise USB...
INICIO
    IF PORTB.0 = 0 THEN goto BLOQUE1
      USBService
      GOTO INICIO
BLOQUE1
    for  i=0 to  149
      USBBuffer[8]= DATO1
        FOR K=1 TO 250             'RETARDO
            PAUSE 2                     '
            gosub DoUSBOut         '
        NEXT K                       '
    next i
   GOTO INICIO
' ************************************************************


Visual Basic

'*****************************************************************
' on read event...
'*****************************************************************
Public Sub OnRead(ByVal pHandle As Long)
   ' read the data (don't forget, pass the whole array)...
   If hidRead(pHandle, BufferIn(0)) Then
      ' ** YOUR CODE HERE **
      ' first byte is the report ID, e.g. BufferIn(0)
      ' the other bytes are the data from the microcontrolller...

Text1.Text = BufferIn( 8 )               'ESTA ES LA MANERA BASICA COMO ME FUCIONA PERO HE HECHO DE TODO Y NO DOY PARA VISUALIZAR TODA LA CADENA DE DATOS
  End If
End Sub
' ************************************************************

Compañeros he tratado de multiples maneras y no lo he conseguido, he mirado varios post relacionados con el tema y nada. Despues que solucione esto la idea es guardar estos datos provenientes del PIC en un archivo por ejemplo .txt. Por favor la orentacion que me puedan dar que sea sencilla y facil de entender ya que no soy muy ducho en VB. GRACIAS!!!

Desconectado jorgeaf_59

  • PIC10
  • *
  • Mensajes: 26
Re: RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID
« Respuesta #1 en: 07 de Enero de 2011, 23:34:27 »
Hola Sacahe

Si entendí bien tu pregunta, te sugiero reemplazar :
Text1.Text = BufferIn( 8 )
por :
Text1.Text = Text1.text+BufferIn( 8 )

Creo que hay preguntas similares en el foro (obviamente con la misma respuesta).

Saludos,

Jorge

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID
« Respuesta #2 en: 08 de Enero de 2011, 02:14:31 »
Para poder realizar lo que deseas debes utilizar punteros. Es decir, debes pasar los valores por referencia.

Tengo entendido que cuando utilizas la funcion de envio de datos del pic a la PC ambos utilizan un buffer, un buffer es un arreglo de datos, por lo tanto para poder escribir todos a la vez a como tu deseas debes utilizar el puntero del buffer.
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
Re: RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID
« Respuesta #3 en: 08 de Enero de 2011, 12:07:17 »
Gracias compañeros por atender mi solicitud!!

Amigo jorgeaf_59  hice tal cual como me dices pero al compilar el programa me genera un error: "no coincide los tipos". lo que hice fue colocar: Text1.Text = Text1.text + Str(BufferIn( 8 )) y en el textbox si se me visualizan los datos pero cada dato se me repite una infinidad de veces. por ejemplo, los primeros datos que envia el pic son 20 - 56 - 4 bueno en el textbox se me visualiza asi:

20 20 20 20 20 20.....
56 56 56 56 56 56.....
4 4 4 4 4 4 4 4 4 4.....


Falta algo!!!!


 :-/ Amigo bigluis sera que me puedes explicar mejor lo del puntero del buffer, y si es posible ilustrarmelo en codigo?  :-/


Desconectado jorgeaf_59

  • PIC10
  • *
  • Mensajes: 26
Re: RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID
« Respuesta #4 en: 08 de Enero de 2011, 13:11:45 »
Hola Sacahe,

No creo que pueda aportarte algo más, tanto por desconocimiento del protocolo USB como del basic que utilizás para el PIC.
Sin embargo te sugiero cambiar:
  gosub DoUSBOut         '
        NEXT K     
por:
        NEXT K     
  gosub DoUSBOut         '
porque no entiendo sino como se hace la pausa.
Con respecto al Str que tuviste que agregar, espero no haberte hecho perder demasiado tiempo, pero mi propuesta es de lápiz y papel, sin posibilidad de probar en la práctica, disculpame.

Suerte y cordiales saludos,

Jorge

Desconectado Sacahe

  • PIC12
  • **
  • Mensajes: 68
Re: RECEPCIONAR CADENAS DE DATOS EN VISUAL BASIC(TEXTBOX) - HID
« Respuesta #5 en: 09 de Enero de 2011, 01:17:20 »
Compañero Jorge mis respetos, no se me habia ocurrido que el problema estaba en el programa de PBP, claro ya me funciona!!!!