: 이번 강좌에서는
mbed의 버스 입력을 이용하여, Switch를 On/Off
하여 이를 디지털 입력으로서 받고, 이에 대응하도록 LED를 On/Off 하는 버스 입/출력 테스트를 해보도록 하겠다.이전 디지털 입/출력과
결과는 같지만, 각 핀에 해당하는 명령어를 썼던 이전과는 달리 소스 코드가 상당히 간결해지는 것을 확인할 수 있다.
▶ 아래의 부품을 이용하여 아래의 회로도 처럼 구성하기로
하자.
▶ 회로의 배선도이다. 브래드보드에 아래와 같이 mbed 보드와 구성품을 배치, 배선 후 mbed를 PC에 연결하도록
하자.
▶ 버튼1을 누르면, LED1이 켜지고, 버튼2를 누르면
LED2가 켜지는 식으로 버튼 입력에 대응하도록 LED를 On/Off 하는 프로그램이다. 프로그램의 세부 설명은 소스에 기재되어 있는 설명을 참고하도록 하자. 이전 디지털 입/출력과 다른점은 신호 핀
및 출력 핀은 버스로 묶어서 사용한다는 점이다.
▶
mbed.org 컴파일러에서 직접 코딩하여, 컴파일하기를 추천한다. 아무리 간단한 코딩이라도 할 수록 늘고, 자신감도 붙기 마련이다.아래의
소스를 복사/붙여넣기도 가능하지만, 꼭 직접 코딩하고, 컴파일해보고, 결과를 눈으로 직접 보기를 강력 추천한다.
▶
mbed 소스작성, 컴파일, 업로드 방식은 "mbed 기초 강좌 : 03. mbed 소스작성, 컴파일, 업로드" 를 참고하도록
하자.
#include "mbed.h" BusIn buttons(p17,p18,p19,p20);// Bus In Pin BusOut leds(p21,p22,p23,p24); // Bus Out Pin int main() { leds=0; // LED Init while(1) { leds=buttons.read(); // button[n] On/Off = led[n] Off/On } } ▶ BusOut
▶ BusIn
▶ 실행 결과는 아래와 같다.
[2] mbed handbook, http://mbed.org/handbook/BusOut
[3] mbed handbook, http://mbed.org/handbook/BusIn
작성자: 표윤석(http://robotpilot.net/)
|