한국항공대학교 이우성
- 목표 : ATmega8 과 MAX232를 이용해서 PC와 시리얼 통신을 해보자.
-
준비물
- ATmega8 DIP 타입
- MAX 232 DIP 타입
- 12pF 세라믹 컨덴서
- 1uF 세라믹 컨덴서
- D-SUB 커넥터
- Bread Board
- 5V Power Supply
- CodeVision
AVR 칩 상태 및 ISP 기능 확인
- ATmega8 을 빵판에 끼운다.
- 데이터 시트를 보고 전원선을 꼽아준다.
- ATmega8 로 들어가는 클럭을 연결해준다. 크리스탈과 세라믹 컨덴서 2개를 이용한다.
-
ISP 케이블을 연결하기 위한 선을 뽑아준다.
- USP-ISP 에 보면 VCC, GND, RESET, SCK, MOSI MISO 의 핀이 배열이 되어 있다. 이 핀들과 같은 순서로 AVR에 연결할 수 있도록 연결해준다.
-
ISP 기능이 제대로 동작하는지 확인한다.
- USB-ISP 드라이버를 설치한다.
- 빵판에 전원공급이 되는 것을 확인하고 ISP를 연결한 후에 CodeVision 의 Chip Programmer 를 이용하여 Chip Signature 가 제대로 읽히는지 확인한다.
CodeVision AVR을 이용해서 AVR 프로그래밍 준비하기
-
새로운 프로젝트를 만든다.
- File - New - Porject
- CodeWizardAVR 을 이용한다.
-
칩 타입을 선택해주고, 클럭 주파수를 맞춰주고, 사용하려는 기능을 선택한다.
-
먼저 UART만 사용하도록 한다.
- USART Reciever와 Transmitter를 모두 체크하여 사용할 수 있게 한다.
- Generate, Save and Exit 를 눌러 프로젝트를 저장한다.
-
Project - Configure 에서 프로그래밍 방식을 설정한다.
- After Make 탭에서 Program the Chip 을 선택한다.
- Boot Lock Bit 0 와 Boot Lock Bit 1 을 각각 0,0 으로 맞춰준다.(중요!!)
- Fuse bit는 CKOPT에만 체크한다.(중요!!)
- Check Erasure 와 Verify는 체크 해제 한다.
Serial 통신 확인
- MAX 232 를 빵판에 끼운다.
- 데이터 시트를 보고 전원선을 꼽아준다.
-
RS-232 통신은 다음과 같이 연결해주면 된다.
- 위 그림에서 보듯이 MAX 232 를 사용하는 이유는 Micro Processor의 입출력 전압과 PC의 입출력 전압이 다르기 때문에 맞춰주기 위함이다.
-
PC의 시리얼 포트는 Male type 이고, 따라서 D-sub 커넥터를 제작할 때 Female type으로 만들어야 한다.
- 이 때, PC에서 Rx, Tx, GND의 핀 위치는 각각 2, 3, 5 번이다.
- 핀 번호는 커넥터에 씌여져 있으므로 확인하고 납땜한다.
-
printf 와 scanf 를 사용하여 간단하게 확인한다.
-
PC상에서 시리얼 입출력을 확인 할 수 있도록 하이퍼 터미널이나 기타 시리얼 프로그램을 이용하여 확인한다.
- 아까 준비과정에서 Baud rate를 9600 으로 맞춰놓았기 때문에 9600 bps 8/N/1 로 맞추어 사용한다. (대부분이 기본값으로 잡혀 있을 것이다.)
끝.
크리에이티브 커먼즈 라이센스
-
숙제
- 보레이트 19200 bps 으로 맞춰서 통신해볼 것.
- 1초에 한 번씩 "OK" 문자열이 시리얼로 나오게 해 볼 것.
- hardware.h 를 작성하여 Initializtion 과정을 따로 빼고 구워볼 것.
이 글은 스프링노트에서 작성되었습니다.
|