Pregunta básica sobre la programación en CodeWarrior [cerrado]

-3

Tengo conocimientos básicos de C ++ y MicroControllers.  Considere el siguiente extracto de código del archivo de encabezado de MC9s08aw60 (escala inicial), estoy trabajando con Codewarrior V5.9.

typedef union {
  byte Byte;
  struct {
    byte PTFD0       :1;                                /* Port F Data Register Bit 0 */
    byte PTFD1       :1;                                /* Port F Data Register Bit 1 */
    byte PTFD2       :1;                                /* Port F Data Register Bit 2 */
    byte PTFD3       :1;                                /* Port F Data Register Bit 3 */
    byte PTFD4       :1;                                /* Port F Data Register Bit 4 */
    byte PTFD5       :1;                                /* Port F Data Register Bit 5 */
    byte PTFD6       :1;                                /* Port F Data Register Bit 6 */
    byte PTFD7       :1;                                /* Port F Data Register Bit 7 */
  } Bits;
} PTFDSTR;

Ahora, hasta donde entiendo que está definido como una estructura y también se crea un nombre de objeto "Bits", pero cuando trato de usar el objeto en el archivo CPP, muestra un error como: Bits no declarados. Nombre de clase no especificado. ';' falta.

Por favor, dime una razón simple para lo mismo. Y si este no es el foro adecuado, aconseje sobre una alternativa.

Editar: Perdón por la expectativa obtusa: así es como utilicé el código mencionado anteriormente;

Bits PTFD0 = 0x00; // considerando que la lógica 1 es baja.

Gracias de antemano.

    
pregunta sheetansh

1 respuesta

1

En primer lugar, asegúrese de incluir el archivo de encabezado donde se define la estructura en su archivo. La forma de acceder a él sería:

PTFDSTR example;
// access the byte
example.Byte = 0xA5;
// access a bit in the byte
example.Bits.PTFD5 = 1;
    
respondido por el eGovind

Lea otras preguntas en las etiquetas