2009. 4. 22. 18:16

[avr] 확장형 데이터 타입

      AVR 컴파일러의 확장 데이터형

가)    sfrb, srfw

     특수기능 레지스터(SFR)을 나타내는 지시어로 sfrb는 바이트 단위 레지스터를 sfrw는 워드단위의 레지스터를 나타낸다.

     srfb

#define sfrb_(x,x_) \

extern "C" volatile unsigned char x asm(#x_) 로 정의 되어있다.

     srfw

#define sfrw_(x,x_) \

extern "C" volatile unsigned int x asm(#x_) 로 정의 되어있다.

     사용법은 다음과 같다.

sfrb 심볼1 = IO레지스터주소값; sfrw 심볼2 = IO레지스터주소값;

나)    sfr 데이터형들의 용도

     헤더 파일에 sfr 데이터형들로 정의된 I/O 레지스터 이름들을 사용하여, 레지스터에 직접 값을 대입할 수 있다.

다)    헤더 파일에 정의된 레지스터

     DDR

데이터의 방향성을 지정해주는 레지스터. 해당되는 포트를 1로 정해주면 출력이 되고 0으로 지정해주면 입력이 된다. 기본적으로는 input으로 설정되어있다

) DDRA=0xff;  DDRF=0x00;

     PORT

       출력을 담당한다. 해당되는 핀에 1이나 0을 써주면 그 값이 핀으로 나가는 것이 PORT의 역할이다.

       ) PORTA = 0x01;   PORTF = 0xf0;

     PIN

       DDR 0으로 설정되었을 때 해당되는 핀의 값을 받아들이는 역할을 한다.