[Mega16 EVM]USB(toSerial)테스트 예제 - 키보드로 LED제어
Mega16 EVM의 USB to Serial테스트
전체 드라이버소스 -> http://cafe.naver.com/elab/776
USBtoSerial CP2101가 장착되어 PC의 USB를 통해 시리얼 데이터를 전송할 수 있다. 따라서 터미널 창으로 키보드의 '1', '2', '3', '4'문자를 전송하고 이에 따라 Mega16의 시리얼포트로 전송받은 데이터를 처리하여 LED를 On/Off하는 예제를 작성해 보겠다.
먼저 시리얼 포트 관련 드라이버 함수는
#include "..\01_drv\serial.c"
에 정의 되어 있고 필요할때 include하고 _UART0_ENABLE를 정의하면된다. 계층구조라 필요없으면 주석처리하면 된다.
그리고 UART를 사용하기 위해 _UART0_ENABLE를 정의 해야 한다.
#define _UART0_ENABLE
시리얼 터미널 창으로 키보드를 눌러 키값을 전송하면 각각LED 가 점등되는것을 볼 수 있다.
시리얼 테스트 예제 소스
//UART0을 사용하기 위해 #define _UART0_ENABLE
#include "..\00_hal\system.h" #include "..\01_drv\serial.c"
//----------------------------------------------------------------------------- // Main Routine //----------------------------------------------------------------------------- int main(void) { SystemInit();
Led1Init(); Led2Init();
Led2On(); Led1Off();
//Serial Init U0_Init(BAUD_57600); U0_printf("Serial Test Program.\r\n");
while(1) { if(U0_IsGetByte()) { switch(U0_GetByte()) { case '1': Led1On(); U0_printf("LED1 On\r\n"); break;
case '2': Led1Off(); U0_printf("LED1 Off\r\n"); break;
case '3': Led2On(); U0_printf("LED2 On\r\n"); break;
case '4': Led2Off(); U0_printf("LED2 Off\r\n"); break; } } }
|