Autor Tema: Guardar tren pulsos vector  (Leído 2899 veces)

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

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Guardar tren pulsos vector
« en: 21 de Mayo de 2008, 14:18:24 »
Hola amigos!
Este es un mensaje del amigo aGuillo, a ver si alguien puede ayudarlo. Me parecio oportuno postearlo aqui asi la respuesta sirve tambien a otros usuarios.



Tengo una serie de pulsos que entran a un puerto del PIC, estoy tratando de guardar estos pulsos en un vector para despues utilizar este vector para hacer un contador. pero me he quedado un poco corto. no se si ud me pueda echar una manito.

he intendato algo asi:

TRISD = %11111111

Dim almacen(50) As Byte
Dim a As Byte
Dim b As Byte

almacen = 0
a = 0
b = 0
loop:
If PORTD.0 = 1 Then

   If PORTD.1 = 1 Then
      almacen.b = PORTD.1
      a = 1
      b = b + a
      Else
      almacen.b = PORTD.1
      a = 1
      b = b + a
   Endif
Endif
Goto loop

Pero el vector "almacen" no le puedo cambiar la posicion para ir guardando cada dato simplemente cambiando el valor de la variable b.

Gracias.
« Última modificación: 21 de Mayo de 2008, 18:34:04 por aitopes »
Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado aitopes

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5100
    • uControl
Re: Guardar tren pulsos vector
« Respuesta #1 en: 21 de Mayo de 2008, 14:22:43 »
Hola!
Estas usando PIC SIMULATOR IDE?

En principio, declaras un vector , pero luego haces cosas como

almacen.b = PORTD.1

que no parecen correctas. ¿No te da un error el compilador?

Saludos!

Si cualquier habilidad que aprende un niño será obsoleta antes de que la use, entonces, ¿qué es lo que tiene que aprender? La respuesta es obvia:
La única habilidad competitiva a largo plazo es la habilidad para aprender
“. Seymour Papert

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Guardar tren pulsos vector
« Respuesta #2 en: 21 de Mayo de 2008, 18:20:24 »
Asi ira mejor.

Código: QBasic/QuickBASIC
  1. AllDigital  'hay que definir de que tipo seran los puertos I/O o analogicos
  2. TRISD = %11111111
  3.  
  4. DIM almacen(50) AS Byte
  5. DIM aux_almacen AS Byte
  6. 'Dim a As Byte 'esta no es necesaria
  7. DIM b AS Byte
  8.  
  9. almacen = 0
  10. aux_almacen = 0
  11. 'a = 0
  12. b = 0
  13.  
  14. LOOP:
  15.         IF PORTD.0 = 1 AND b < 50 THEN '__b no puede ser mayor que 50-1=49,
  16.                                                                 '__de 0 a 49 van 50 variables almacen
  17.                 IF PORTD.1 = 1 THEN
  18.                         aux_almacen.0 = PORTD.1
  19.                         almacen(b) = aux_almacen  'hay que pasarle el valor mediante una variable aux del mismo tipo
  20. 'a = 1
  21.                         b = b + 1
  22.                 ELSE
  23.                         aux_almacen.0 = PORTD.1
  24.                         almacen(b) = aux_almacen
  25. 'a = 1
  26.                         b = b + 1
  27.                 Endif
  28.         Endif
  29. GOTO LOOP
« Última modificación: 21 de Mayo de 2008, 19:06:16 por dogflu66 »
Saludos desde Granada, España.

Desconectado LordLafebre

  • Moderador Global
  • DsPIC30
  • *****
  • Mensajes: 3529
    • Micros & micros
Re: Guardar tren pulsos vector
« Respuesta #3 en: 21 de Mayo de 2008, 19:03:55 »
Asi hira mejor.

Hola:

Master, esa palabra te la acabas de inventar, está de que la agregues al diccionario  :D :D
« Última modificación: 21 de Mayo de 2008, 19:06:45 por LordLafebre »

Desconectado dogflu66

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 3549
Re: Guardar tren pulsos vector
« Respuesta #4 en: 21 de Mayo de 2008, 19:05:33 »
La quito la quito... :oops: :oops: :oops:
Saludos desde Granada, España.