본문 바로가기

마이크로컨트롤러

(5)
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(7) UART 시리얼 통신 기본 내용 GPIO핀은 한번에 한 비트의 데이터만 전송할 수 있으므로 병렬통신으로 8개의 LED를 제어하기 위해서는 8개의 GPIO핀을 사용해야 한다. 병렬통신을 사용하게 되는 경우 연결해야하는 핀의 개수가 많아져서 복잡해지므로 고속의 데이터 전달이 필요한 경우를 제외하고는 많이 사용되지 않는다. 병렬통신에서 8개 비트를 8개의 입출력 핀을 통해 한번에 전송한다면, 직렬(시리얼 통신)에서는 1개의 입출력 핀을 통해 8개 비트를 여덟번에 나누어 전송한다. 시리얼 통신에는 SPI와 I2C와 같은 다양한 방법이 있지만, 이번 장에서는 가장 흔히 사용되는 방법인 UART에 대해서 알아볼 것이다. 9.1 UART 위의 그림과 같이 데이터를 여덟 번에 나누어서 보내는 경우, 받는 쪽에서 얼마나 자주 데이터를 확인할 것인지 알..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(6) 디지털 데이터 출력과 입력 이번 글에서는 책의 챕터 7에서 다뤄진 디지털 데이터 출력과 챕터 8에서 다뤄진 디지털 데이터 입력에 대해서 함께 정리할 것이다. 7.1 ATmega128의 데이터 핀 ATmega128은 64개의 핀을 가지고 있고 이 중 53개의 핀을 디지털 데이터 입출력 핀으로 사용할 수 있다. 이 마이크로컨트롤러의 중앙처리장치는 1바이트(8비트) 크기의 워드(word) 단위로 데이터를 처리하므로, 8개의 입출력 핀을 묶어 포트라는 이름으로 관리한다. 포트는 외부 장치와 데이터를 교환하는 기본 단위가 된다. 마이크로컨트롤러는 마이크로프로세서와는 다르게 주변장치와 데이터를 주고받는 기능이 칩 내에 포함돼 있고, 이를 위해 사용하는 임시 기억공간을 입출력 레지스터라고 한다. ATmega128에는 256개의 레지스터를 정의..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(5) - ATmega128 보드 책의 챕터 3(개발 환경 설정)과 챕터 4(마이크로컨트롤러를 위한 C언어)는 굳이 블로그에 정리하지 않고 스킵하기로 하였다. 개발환경 설정의 경우 나는 맥을 쓰기 때문에 책에서 설명하는 Atmel Studio를 쓰지 않을 예정이고, C언어는 프로그래밍을 기본적으로 할 줄 알기 때문에 나중에 필요한 부분을 찾아서 쓰면 된다고 생각하기 때문이다. 그렇다고 읽지 않은 것은 아니고 다 읽었지만 굳이 정리를 할 필요는 없다고 느꼈기에 스킵하기로 하였다. 챕터 5는 책에서 사용하게 될 ATmega128보드에 관한 설명인데, 나는 해당 보드를 사용하진 않을 것이지만 그래도 보드 구성이 어떻게 되어있는지도 궁금하였고 나중에 내가 보드를 직접 구성할 때 도움이 될 것 같아서 정리하기로 하였다. 앞에서 배운 내용이 조금 ..
ATmega128로 배우는 마이크로컨트롤러 프로그래밍(1) - 마이크로 컨트롤러란? 지난주부터 팹 아카데미에서 Electronics에 관한 수업이 시작되었다. 그런데 수업시간에 모르는 개념들이 많이 나왔고, 인터넷에 용어의 정의를 찾아봐도 잘 이해가 되지 않았다. (9) 네덜란드에서 살아남기 - Fab Academy 네 번째 수업 - 전기전자 공학도의 첫 PCB 제작 내가 전자전기공학을 전공했다는 것은 팹 아카데미에서 말하지 않았다. 왜냐면.... 전자전기를 전공했음에도 불구하고 나는 이 분야에 대해서 잘 알지 못하고ㅠㅠ 그 사실이 너무 창피하기 때문이다. 그리고 이번.. bricoler.tistory.com 그래서 마이크로컨트롤러에 대한 책을 찾던 중, 우연히 이 책을 찾게 되었고 샘플이 있길래 읽어보았는데 내가 배우고 있는 부분과 딱 맞아떨어져서 바로 구매하게 되었다. 아쉽게도 e-..
(9) 네덜란드에서 살아남기 - Fab Academy 네 번째 수업 - 전기전자 공학도의 첫 PCB 제작 내가 전자전기공학을 전공했다는 것은 팹 아카데미에서 말하지 않았다. 왜냐면.... 전자전기를 전공했음에도 불구하고 나는 이 분야에 대해서 잘 알지 못하고ㅠㅠ 그 사실이 너무 창피하기 때문이다. 그리고 이번 주의 주제는 대망의 Electronics production 였다. 이 귀여운 작은 밀링머신을 이용하여 PCB에 회로를 만든 뒤, 그 위에 납땜을 하여 프로그래머를 만드는 것이 이번주의 과제이다. 납땜은 이전에 많이 해봤기 때문에 걱정은 안됬다. 그렇다고 잘하진 않았다.^^... 다만 걱정만 안 했을 뿐 사실 걱정은 다른 곳에 있었다. 이번 주의 용어들이 너무 어려웠다는 것... 솔직히 말해서 나는 마이크로컨트롤러와 마이크로프로세서의 차이도 모르고 있었고, 일단 회로는 만들고 납땜은 알려준 데로 하긴 ..