C# 에서 시리얼 포트 사용하기도 간단합니다.
기존의 blocked나 non-blocked를 고민할 필요도 없고,
DCB써서 복잡하게 정희할 필요도 없습니다.
다음과 같이 하면 간단합니다.
<선언하기>
using System.IO.Ports;
:
SerialPort SP = new SerialPort();
:
public Form1()
{
InitializeComponent();
CheckForIllegalCrossThreadCalls = false;
SP.DataReceived += new SerialDataReceivedEventHandler(SP_DataReceived);
SP.ReadTimeout = 200;
SP.BaudRate = 115200;
SP.PortName = "COM3";
SP.RtsEnable = true;
SP.Open();
SP.DiscardInBuffer();
SP.DiscardOutBuffer();
}
private void SP_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
MsgBox.Text = string.Format("{0}", Convert.ToChar(SP.ReadByte()));
}
private void button1_Click(object sender, EventArgs e)
{
SP.Write("1");
}
위와 같이 하면 보내고 받기가 됩니다.
주의할 사항은 보낼 때, ASCII 형식으로 보내려면 Conver.ToChar 를 꼭 해줘야합니다.
'Programming' 카테고리의 다른 글
숫자를 문자로 변경해서 출력하기 (0) | 2011.11.01 |
---|---|
[C#] 프로그레스바 건드리기 (0) | 2011.10.27 |
[C#] 타이머 사용하기 (0) | 2011.10.27 |
[C#] 파일 선택 다이얼로그 박스 열기 (0) | 2011.10.25 |
[C#] 다중 스레드에서 다른 스레드 억세스 에러 (0) | 2011.10.25 |