creando la matriz del pin de puerto en Hi-tech C

0

Estoy usando el microcontrolador pic16f887 y el compilador Hi-tech C. Quiero implementar la matriz de puerto de pines en alta tecnología, pero no me permite hacerlo. ¿Cuál es la forma correcta de acceder a la dirección pin con la indexación, como lo hacemos en arduino.

quiero una matriz como

   bit * lcd[4]={RA0,RA1,RB0,RC4};

da los siguientes errores

  • las matrices de bits o los punteros a bits son ilegales
  • se requiere expresión constante
  • conversión ilegal de entero a puntero

Claramente significa que no puedo declarar Arrays of Bit, ¿cuál es la otra manera de acceder a los números de pin a través de la indexación en el estilo C estándar o cualquier otro truco relacionado con el compilador?

En los archivos de encabezado, los pines se declaran de las siguientes maneras

    // Register: TRISB
    volatile unsigned char           TRISB               @ 0x086;
// bit and bitfield definitions
volatile bit TRISB0              @ ((unsigned)&TRISB*8)+0;
volatile bit TRISB1              @ ((unsigned)&TRISB*8)+1;
volatile bit TRISB2              @ ((unsigned)&TRISB*8)+2;
volatile bit TRISB3              @ ((unsigned)&TRISB*8)+3;
volatile bit TRISB4              @ ((unsigned)&TRISB*8)+4;
volatile bit TRISB5              @ ((unsigned)&TRISB*8)+5;
volatile bit TRISB6              @ ((unsigned)&TRISB*8)+6;

Mi problema es que, no quiero nombrar el puerto que quiero indexar para que pueda llamarlos con sus números como lo hacemos en estilo arduino

 digitalWrite(13,HIGH);
    
pregunta Abdul Rehman

0 respuestas

Lea otras preguntas en las etiquetas