Configuração do Port Bit a Bit (Linguagem C)

Ola Senhores
Gostaria de configurar os pinos do PSoC para serem usados bit a bit ou por Byte, para tanto pensei em utilizar uma estrutura assim:
Dessa forma seria possível acessar o port todo:
Ou somente o bit:
No entanto este código aparentemente correto é compilado, mas não funciona, já tentei indicar diretamente o endereço do port na memória 0x004, mas também não funcionou.
A ultima linha foi retirada diretamente do documento “C Language Compiler User Guide.pdf” (pg. 31).
Alguém tem alguma idéia ?
Gostaria de configurar os pinos do PSoC para serem usados bit a bit ou por Byte, para tanto pensei em utilizar uma estrutura assim:
- Código: Selecionar todos
union Port1
{
struct
{
unsigned char P0:1; // Dados para - P0
unsigned char P1:1; // Dados para - P1
unsigned char P2:1; // Dados para - P2
unsigned char P3:1; // Dados para - P3
unsigned char P4:1; // Dados para - P4
unsigned char P5:1; // Dados para - P5
unsigned char P6:1; // Dados para - P6
unsigned char P7:1; // Dados para - P7
} Bits;
char Byte;
};
#define PORT1 (*(union Port1 *)PRT1DR)
Dessa forma seria possível acessar o port todo:
- Código: Selecionar todos
PORT1.Byte = valor;
Ou somente o bit:
- Código: Selecionar todos
PORT1.Bits.P0 = valor;
No entanto este código aparentemente correto é compilado, mas não funciona, já tentei indicar diretamente o endereço do port na memória 0x004, mas também não funcionou.
- Código: Selecionar todos
#define PORT1 (*(union Port1 *)0x004)
A ultima linha foi retirada diretamente do documento “C Language Compiler User Guide.pdf” (pg. 31).
Alguém tem alguma idéia ?