Autor Tema: Puntero a BIT (Short)  (Leído 1520 veces)

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

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Puntero a BIT (Short)
« en: 12 de Agosto de 2017, 11:50:14 »
Hola amigos, alguien conoce la forma de obtener el puntero de una variable short?

ejemplo

short bandera1;

int *puntero;

puntero = &bandera1

Gracias


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Puntero a BIT (Short)
« Respuesta #1 en: 12 de Agosto de 2017, 12:14:00 »
No se porque harias eso, pero creo que la respuesta corta en PICs es no, a no ser que quieras complicarla bastante y ya perderias toda ventaja de usar un bit y no un byte. Un puntero es solo una direccion, para apuntar a un bit deberias tener direccion y posicion.

Asi que las soluciones que se me ocurren es: Crear una estructura para mantener los datos y los flags que corresponden a esos datos ( de otra forma no me imagino para que quisieras un puntero a bit), o usar un switch..case

Si es un ARM gracias al bit-banding seria posible, ya que el hardware lo hace posible. pero en los PICs no.

Asumo que es un PIC por que short solo para indicar que es un solo bit lo usa creo que unicamente CSS

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re:Puntero a BIT (Short)
« Respuesta #2 en: 12 de Agosto de 2017, 13:11:03 »
Gracias KILLERJC, mi inquietud iba dirigida a como obtener la dirección del registro donde se encuentra unos bit específicos (banderas) para en un momento dado darles tratamiento de registros de forma indirecta, pero no es algo realmente importante.

Saludos

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Puntero a BIT (Short)
« Respuesta #3 en: 12 de Agosto de 2017, 13:53:28 »
Disculpa pero leyendo, creo que es posible generar un

short *puntero;

No lo probe, pense que no era posible por la forma en que C se maneja, pero ya voy a probar para ver si es posible o no. Y comentarte los resultados.
« Última modificación: 12 de Agosto de 2017, 13:55:56 por KILLERJC »

Desconectado EdoNork

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 616
    • ElektroQuark
Re:Puntero a BIT (Short)
« Respuesta #4 en: 12 de Agosto de 2017, 17:15:00 »
¿Y si creas un array de shorts para ese seudo registro?
Mi blog sobre electrónica y cosillas afines: www.elektroquark.com
EQVideo en Youtube
El foro de KiCad en castellano.
Mi librería para KiCad ¡AQUÍ!

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Puntero a BIT (Short)
« Respuesta #5 en: 13 de Agosto de 2017, 22:57:01 »
Acabo de tratar de probarlo en XC8, pero no es posible. Ya que en XC8 bool es un unsigned char. Lo cual el puntero se comporta como el del un int8.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re:Puntero a BIT (Short)
« Respuesta #6 en: 16 de Agosto de 2017, 16:07:48 »
Muchas gracias.


 

anything