안녕하세요 L입니다 !!
오늘만 포스팅 3개째네요 ㅠ_ㅠ
이렇게 힘들게 포스팅하는데 읽고 도움이 되셨다면 공감 !! 덧글 !!
기본 매너좀 부탁드립니다 ㅋㅋ
이번 포스팅은 아트메가128 자료형크기를 알아보는법과
여러 예제들을 출력해보고 결과를 알아보겠습니다.
★ Atmega 128
ㆍ각 포터마다 I/O (입출력) Reg(레지스터) 영역이 있다.
DDRx - 포트의 I/O 설정 Reg ( r/w )
PORTx - 데이터 출력에 해당 ( r/w )
PINx - 외부로부터 입력되는 데이터 저장 ( r )
< DDRx 설정 >
ㆍ0x00 입력용
ㆍ0xFF 출력용
< Atmega128 >
ㆍ 총 64개 pin
ㆍ 포트 7개
ㆍPA : 8개
ㆍPB : 8개
ㆍPC : 8개
ㆍPD : 8개
ㆍPE : 8개
ㆍPF : 8개
ㆍPG : 5개
ㆍ53개 pin 프로그래밍 가능
ㆍ 하나의 포트당 8비트 이다.
Ex) port f 를 사용하여 LED 출력
결과 : LED 에 모두 불이 켜진다.
Ex) PF7 이 J15(LED) 로 선을 꼬아 연결한 결과를 출력
결과 : 선을 정상적으로 연결 D4~D7 LED 출력 되어야 하지만
선을 꼬아 연결했기 때문에 D8~D11 LED 출력
< 선을 꼬아 연결 즉 PF7 J15-1번에 연결됨 >
< 출력 결과 >
Ex) 소스코드 binary 로 표현했을 때
결과 : 2진수로도 표현이 가능하다
< 8bit system Atmega128의 자료형 크기 >
결과
아래 소스코드로 각 자료형의 크기를 출력하여 알아볼수있다.
char 는 1byte 이다 2진수로 0000 0001 이다. 그러나 값이 0일경우
LED에 불이 들어오므로 자료형크기를 출력하기위해 ~ 로 not 을 해준다.
cahr : 1byte
int : 2byte
float : 4byte
long : 4byte
double : 4byte
* cahr, *int, *float, *long, *double : 2byte
unsigned char 데이터범위 : 0 ~ 255
unsigned int 데이터범위 : 0 ~ 65535
Ex) 8개의 LED가 일정간격으로 전체 on/off를 반복
< 같은 결과의 간략한 소스 >
결과 : LED 가 점멸하며 반복
불필요한 명령을 최적화 하지 않게 하는 명령 volatile
Ex) 상위 4개 하위4개 LED를 번갈아 on/off 를 반복
결과 : 동영상 참고
아트메가128 ( FND / FND예제 ) [20120516] (0) | 2016.09.29 |
---|---|
DK - 128 회로 명칭 ( 아트메가128 / AVR ) (0) | 2016.09.29 |
아트메가 128 ( 아트메가128 회로도 / .h파일 만드는법 / 아트메가 컴파일 예제 ) (0) | 2016.09.29 |
AVR ( 개발 환경 설정 / 아트메가 컴파일 설정 / WinAVR ) (0) | 2016.09.27 |
아트메가128 ( Atmega128의 특징 ) (0) | 2016.09.27 |