Autor Tema: Ayuda con matriz de etiquetas: #define salidas{PIN_C1,PIN_B0...}  (Leído 1693 veces)

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

Desconectado jajaime_ji

  • PIC10
  • *
  • Mensajes: 32
Ayuda con matriz de etiquetas: #define salidas{PIN_C1,PIN_B0...}
« en: 01 de Agosto de 2007, 04:05:44 »
Hola a todos,

Me gustaría hacer un ciclo for en el que el índice i me sirva para poner en high la salida del micro. Es decir:

for (i=0;i<=7;i++)
{
      if(bit_test(dato,i))
               output_high(salida(i))
}

Es decir, lo que me interesaría es hacer un vector (o matriz), en el caso anterior salida, en el que contenga las etiquetas de los pines PIN_Cx o PIN_Bx
para poder utilizarlos en un ciclo for.
He probado con #define y nada. Y he buscado por la ayuda del CCS.
A ver si alguien me puede ayudar.

Gracias de antemano.
Saludos.

Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Ayuda con matriz de etiquetas: #define salidas{PIN_C1,PIN_B0...}
« Respuesta #1 en: 01 de Agosto de 2007, 05:07:28 »
Eso no es válido en CCS. Las etiquetas se traducen por su contenido en el momento de la compilación, no el momento de la ejecución.

Yo en tu caso optaría por enviar un byte al puerto entero, conteniendo un 1 en el pin que quieres encender:
for (i=0;i<=7;i++)
{
      if(bit_test(dato,i))
               output_b(1<<i)
}

Desconectado jajaime_ji

  • PIC10
  • *
  • Mensajes: 32
Re: Ayuda con matriz de etiquetas: #define salidas{PIN_C1,PIN_B0...}
« Respuesta #2 en: 01 de Agosto de 2007, 05:59:32 »
Hola nocturno:

En primer lugar muchas gracias por tu respuesta.
El problema que tengo con tu solución es que las son 12 salidas y no estan tan ordenadas como deberían.
En principio lo he solucionado con una matriz de enteros, colocando en cada posición la dirección de cada pin que viene en el archivo .h del micro.

Lo que ocurre es que no quería ocupar espacio en memoria porque voy muy justo.


Un saludo!!


Desconectado Nocturno

  • Administrador
  • DsPIC33
  • *******
  • Mensajes: 18286
    • MicroPIC
Re: Ayuda con matriz de etiquetas: #define salidas{PIN_C1,PIN_B0...}
« Respuesta #3 en: 02 de Agosto de 2007, 01:51:23 »
Pues no se me ocurre mejor opción que la matriz de enteros que ya utilizas.

Desconectado jajaime_ji

  • PIC10
  • *
  • Mensajes: 32
Re: Ayuda con matriz de etiquetas: #define salidas{PIN_C1,PIN_B0...}
« Respuesta #4 en: 03 de Agosto de 2007, 03:40:15 »
Bueno,
Pues así se queda.

Muchas gracias nocturno de todas formas!!!

Un saludo a todos.


 

anything