Autor Tema: Como almacenar datos en VB via 232 desde un PICF877?  (Leído 1804 veces)

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

Desconectado gabotronic

  • PIC12
  • **
  • Mensajes: 57
Como almacenar datos en VB via 232 desde un PICF877?
« en: 27 de Agosto de 2004, 16:26:00 »
Amigos:
Desde un pic envio 2 datos seguidos cada 2 seg.
PIC ---dato1,dato2----2seg. ----dato1,dato2----2 seg-----VB.

¿Como puedo guardarlos en diferentes variables con el VB?
Es decir llega el primer dato lo guardo en dato1, llega segundo dato lo guardo en dato2.

Gracias de antemano.


Desconectado Colores

  • Moderadores
  • PIC16
  • *****
  • Mensajes: 232
RE: Como almacenar datos en VB via 232 desde un PICF877?
« Respuesta #1 en: 27 de Agosto de 2004, 23:11:00 »
Ahora no tengo el VB a mano... pero la mejor forma es así:

Te conviene guardar los datos en un arreglo, o sea: Dato(0), Dato(1), Dato(2), Dato(3)...
Para declarar un arreglo se pone: Dim Dato (10) as String.
Esto declara un arreglo de 10 "Datos".
Entonces declarás una variable para un contador: Dim X as Integer.

Hacés:

Dato(x) =MSComm1.Input
X= X + 1

Entonces cada vez que leés guardas el dato y incrementás el contador para pasar al próximo casillero del arreglo la próxima vez.
El problema viene cuando no sabés cuántos datos vas a guardar. Con 10 te vas a quedar corto en poco tiempo. Y no es bueno declarar arreglos de 20000 índices si no sabés si los vas a usar todos, desperdiciás memoria y igual te podés quedar corto...
ENTONCES:

Declarás: Dim Dato () as String.
Esto declara un arreglo DINAMICO. Esto quiere decir que no es fijo y que lo podés "agrandar" a medida que lo necesitás.
Para agrandarlo usás REDIM PRESERVE. Redim cambia el tamaño del arreglo y Preserve es para que guarde los datos que tenés hasta el momento (sinó los borra y empieza un arreglo vacío).
Te quedaría así:

Redim Preserve Dato(x + 1)
Dato(x) =MSComm1.Input
X= X + 1

Este código primero agranda el array una posición más de lo necesario y después guarda en el lugar anterior.
Se debe tener en cuenta que cuando se declara un array, por default, la primera posición es 0.

Cualquier cosa preguntá.
Salu2.

Desconectado gabotronic

  • PIC12
  • **
  • Mensajes: 57
RE: Como almacenar datos en VB via 232 desde un PICF877?
« Respuesta #2 en: 28 de Agosto de 2004, 12:08:00 »
Mas claro y practico, imposible. Muchas gracias Colores!!


 

anything