fork download
  1. #include <stdio.h>
  2.  
  3. #define PORTA (*(unsigned char *)(&PORTA_bits))
  4.  
  5. typedef union {
  6. struct {
  7. unsigned char RA0:1;
  8. unsigned char RA1:1;
  9. unsigned char RA2:1;
  10. unsigned char RA3:1;
  11. unsigned char RA4:1;
  12. unsigned char RA5:1;
  13. unsigned char :1;
  14. unsigned char :1;
  15. };
  16. } __PORTA_bits_t;
  17.  
  18. int main (int argc, char *argv[]) {
  19.  
  20. __PORTA_bits_t PORTA_bits;
  21.  
  22. PORTA = 0x03;
  23.  
  24. printf("PORTA_bits.RA0 = %u\n", PORTA_bits.RA0);
  25. printf("PORTA_bits.RA1 = %u\n", PORTA_bits.RA1);
  26. printf("PORTA_bits.RA2 = %u\n", PORTA_bits.RA2);
  27. printf("PORTA_bits.RA3 = %u\n", PORTA_bits.RA3);
  28. printf("PORTA_bits.RA4 = %u\n", PORTA_bits.RA4);
  29. printf("PORTA_bits.RA5 = %u\n", PORTA_bits.RA5);
  30.  
  31. return 0;
  32. }
  33.  
Success #stdin #stdout 0s 2248KB
stdin
Standard input is empty
stdout
Standard output is empty