다른 포트에서 변수를 IO에 매핑하려고합니다. 내가 찾을 수있는 가장 가까운 예제는 다음과 같습니다.변수를 다른 포트의 IO에 매핑
union {
struct
{ // specify each bit in this char byte
unsigned bit0:1 ; // name each member and size
unsigned bit1:1 ;
unsigned bit2:1 ;
unsigned bit3:1 ;
unsigned bit4to6:3 ; // example set to 3 bits
unsigned bit7:1 ;
};
unsigned char allbits; // overall type of union
} Flag ; // name of union = Flag
Flag.allbits = 0x12; // sets value of union/bits to 0x12
Flag. bit2 = 0; // clear the if (Flag. bit2==1), etc
if (Flag. bit2 == 1) etc
다른 포트의 IO 비트를 갖는 대신 bit0, bit1, bit2 등을 가질 수 있습니까? 이런 식으로 뭔가가 :
union {
struct
{ // specify each bit in this char byte
LATAbits.LATA5:1 ; // name each member and size
LATAbits.LATA7:1 ;
LATBbits.LATB2:1 ;
LATBbits.LATB4:1 ;
LATBbits.LATB5:1 ;
LATCbits.LATC0:1 ;
LATCbits.LATC1:1 ;
LATCbits.LATC2:1 ;
};
unsigned char allbits; // overall type of union
} Flag ; // name of union = Flag
Flag.allbits = 0x12; // sets value of union/bits to 0x12
무엇을 나에게 중요한 것은 개별 비트에 액세스 할 수 없습니다 반드시 전체 노동 조합의 값을 설정할 수 될 것입니다.
C 프로그래밍 언어에 대해 이야기하는 경우 C 태그를 추가 할 수 있습니다. –
첫 번째 타이머. 죄송합니다. 끝냈어. –
비트 필드는 정수 유형만 허용됩니다. 귀하의 구현에 문제가 보이지 않습니다. 그런 식으로 접근 할 수 있도록 구조체'LATCbits'의 이름을 지정하십시오. –