[avr] 확장형 데이터 타입
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으로 설정되었을 때 해당되는 핀의 값을 받아들이는 역할을 한다.
'공부합시다 > 임베디드' 카테고리의 다른 글
[ATmega128] RS232 시리얼 통신 관련 레지스터 정리 (0) | 2009.04.28 |
---|---|
[ATmega1128] ATmega128은 Little endian일까 Big endian일까 (2) | 2009.04.24 |
Volatile 한정자 (0) | 2009.04.23 |
[AVR] DDRA, PORTA를 찾아보자. (1) | 2009.04.23 |
[DK-128] LED 순차적으로 점멸하기 (0) | 2009.04.22 |