: 이번 강좌에서는 mbed의 타이머를 이용하여, 보드가 기동한
이후 사용자가 버튼1을 눌렀을 때 까지의 시간을 재어보자. 그리고, 그 결과값을 가상 시리얼 통신을 통해 PC에서 확인하도록
하자.
▶ 아래의 부품을 이용하여 아래의 회로도 처럼 구성하기로
하자.
![]() ▶ 회로의 배선도이다. 브래드보드에 아래와 같이 mbed 보드와 구성품을 배치, 배선 후 mbed를 PC에 연결하도록
하자.
![]() ▶ 보드가 기동한 이후 사용자가 버튼1을 눌렀을 때 까지의 시간을
잰다. 그리고, 그 결과 값을 가상 시리얼 통신을 통해 PC로 전송하는 프로그램이다. 프로그램의 세부 설명은 소스에 기재되어 있는 설명을 참고하도록 하자.
▶
mbed.org 컴파일러에서 직접 코딩하여, 컴파일하기를 추천한다. 아무리 간단한 코딩이라도 할 수록 늘고, 자신감도 붙기 마련이다.아래의
소스를 복사/붙여넣기도 가능하지만, 꼭 직접 코딩하고, 컴파일해보고, 결과를 눈으로 직접 보기를 강력 추천한다.
▶
mbed 소스작성, 컴파일, 업로드 방식은 "mbed 기초 강좌 : 03. mbed 소스작성, 컴파일, 업로드" 를 참고하도록
하자.
▶
USB 가상 시리얼 포트를 통한 통신 방식은 "mbed 기초 강좌 : 04. USB 가상 시리얼 포트를 통한 통신 맛보기"
를 참고하도록 하자.
#include "mbed.h" DigitalIn button1(p17); // Digital In Pin Serial pc(USBTX,USBRX); // Tx, Rx Pin Timer timer; int main() { button1.mode(PullUp); // Set PullUp timer.start(); // Start the timer pc.printf("Timer Start!\n"); while(1) { if(button1 == 0) // if push the button1 { timer.stop(); // Stop the timer pc.printf("%f seconds\n", timer.read()); break; } } } ▶ Timer
▶ Serial
▶
보드의 리셋을 눌러 프로그램을 실행한다. 그 후 버튼1을 눌러 보드가 기동한 후 버튼을 눌렀을때까지의 경과시간이 PC의 터미널에 아래와 같이
표시 될 것이다.
![]() [2] mbed
handbook, http://mbed.org/handbook/DigitalIn [3] mbed
handbook, http://mbed.org/handbook/Timer
작성자: 표윤석(http://robotpilot.net/)
|