본문 바로가기

보고서/10월 업무일지

10월 20일 ATMEGA


DDRF = 0X61;
은 DDRF *((volatile unsigned char *)0x61); 이다. char 를 사용하는 이유는 DDRF의 공간 크기가 8비트 이므로 char 를 사용한다.

#include <avr/io.h> 를 사용하지 않고 직접 레지스터의 주소값을 정의해서 사용하는 방법이 있다.

#define DDRF *((volatile unsigned char *)0x61);
#define PORTF
#define DDRC
#define PINC
 
각각의 주소값을 넣으면 사용할수 있다.
이런 방식으로 헤더파일을 만들어보자

0000.h 로 파일을 만든후에 #define DDRF *((volatile unsigned char *)0x61); 사용할 포트와 핀을 정해주고 그 헤더로 ATmega 프로그래밍을 할수있다.

헤더파일 test.h
#define
 DDRF *((volatile unsigned char*)0x61)
#define PORTF *((volatile unsigned char*)0x62)
#define DDRC *((volatile unsigned char*)0x34)
#define DDRE *((volatile unsigned char*)0x22
#define PORTE *((volatile unsigned char*)0x23)
#define PINC *((volatile unsigned char*)0x33)



DDRF등 이름을 사용하기 편하게 바꿀려면
#define DDRF_LED DDRF
이렇게 원하는 이름을 사용할 수 도 있다.

'보고서 > 10월 업무일지' 카테고리의 다른 글

10월 21일 업무일지  (0) 2010.10.21
10월 20일 업무일지  (0) 2010.10.20
10월 19일 업무일지  (0) 2010.10.19
10월 18일 업무일지  (0) 2010.10.18
10월 14일 업무일지  (0) 2010.10.14