SFR

1705 단어 OSAL
#ifdef __IAR_SYSTEMS_ICC__ #pragma language=extended   //확장 키 사용 가능
#define SFR(name,addr)   __sfr   __no_init  volatile  unsigned char  name @ addr; #define SFRBIT(name, addr, bit7, bit6, bit5, bit4, bit3, bit2, bit1, bit0) \ __sfr __no_init volatile union \ {                              \   unsigned char name;          \   struct {                     \     unsigned char bit0 : 1;    \     unsigned char bit1 : 1;    \     unsigned char bit2 : 1;    \     unsigned char bit3 : 1;    \     unsigned char bit4 : 1;    \     unsigned char bit5 : 1;    \     unsigned char bit6 : 1;    \     unsigned char bit7 : 1;    \   };                           \ } @ addr;
 #define DEFC(name, address)      __no_init volatile unsigned char name @ address
예 를 들 면:
__no_init volatile unsigned char   fuck @
0x5000;
쓰기 가능:
 
DEFC(fuck,  
0x5000 
)
__no_init 가 초기 화 되 지 않 았 습 니 다.@address 구체 적 인 저장 위 치 를 지정 합 니 다.volatile 은 쉽게 잃 어 버 리 지 않 습 니 다. SFRBIT , byte
  SFRBIT( P1, 0x90, P1_7, P1_6, P1_5, P1_4, P1_3, P1_2, P1_1, P1_0 );
  SBIT(P1_7 ,  0x97); 
  chip , 。
sfr , , 。
sbit 。

좋은 웹페이지 즐겨찾기