공부합시다/임베디드
[avr] 확장형 데이터 타입
클란심
2009. 4. 22. 18:16
1
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으로 설정되었을 때 해당되는 핀의 값을 받아들이는 역할을 한다.