[VC++2005]초간단 시리얼 포트 제어 예제
![사용자 삽입 이미지](https://t1.daumcdn.net/tistoryfile/fs4/18_18_18_6_blog120569_attach_0_92.gif?original)
인터페이스용 PC프프로그램을 작성한다면 Visual Sudio .net을 이용하면 상당히 편리하다.
[VC++2005]는 C++을 이용하면서 기존 VC++6.0에서 상당히 불편했던 인터페이스 부분을 VB와 같이 편리하게 작성할 수 있도록 만들어 졌다.
예전 VC++에서 노가다를 생각하면...
물론 내부를 깊이 들어가기는 더 힘들게 막아둬서 표준을 따르지 않으면 정말 손도 못되도록 해 두었지만...
아무튼 간단한 인터페이스용 프로그램을 작성하기에는 쉽고 빠르게 접근가능한 VS .net를 이용하여 시리얼 포트로 간단한 마이컴을 제어하는 예제를 작성해 보겠다.
[VC++2005] 를 실행시키고 간단한 폼을 작성해 보자. 마치 VB를 보는듯 하고 정말 편리하게 잘 되어 있다. 게다가 무료라니...
버튼올리고 출력용 라벨올리고.... 그리고 쉽게 제어가능한 시리얼포트 컴포넌트도 하나 올리자
![](https://t1.daumcdn.net/tistoryfile/fs6/18_18_18_6_blog120569_attach_0_99.gif?original)
PC쪽 프로그램
정말 직관적이고 간단하다. 예전에는 직접 디바이스 드라이버 호출하고 핸들열어 버퍼 쓰고, 읽고, 설정정 해주어야 해던 작업인데... 간단히 몇개의 함수로 끝난다.
초기화 - 시리얼 포트 열기
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
serialPort1->Open();
}
시리얼 포트로 데이터 전송 - Write() 메소드 사용
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e)
{
serialPort1->Write("1");
}
private: System::Void button3_Click(System::Object^ sender, System::EventArgs^ e)
{
serialPort1->Write("2");
}
마이컴쪽 펌웨어
int main(void) { SystemInit(); //Serial Init DebugInit(BAUD_115200); DebugPrint("Serial Test Program.\r\n"); Led1Init(); Led1On(); while(1) { if(DebugIsByte()) { switch(DebugGetByte()) { case '1': DebugPrint("LED1 On\r\n"); Led1On(); break; case '2': DebugPrint("LED1 Off\r\n"); Led1Off(); break; } } } } |
시리얼 통신 테스트 동영상 - Visual C++ .net 시리얼 포트를 이용한 마이컴 제어
MCU는 Microchip 의 dsPIC 을 이용하였다.