윈도우폰 세상/Windows Phone
[Windows Mobile] PDA Serial통신
소년포비
2009. 11. 3. 07:41
제일먼저 해줘야할일은 Serial Control추가 후 시작한다.
Program 생성자에 아래코드를 추가해준다..
- this.serialPort1.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(this.serialPort1_DataReceived);
- dataReciveHandler = new EventHandler(dataRecive);
시리얼 수신 이벤트핸들러함수를 아래와같이 추가한다.
- protected void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs args)
- {
- try
- {
- Invoke(dataReciveHandler);
- }
- catch (System.Exception e)
- {
- }
- }
대리자로 한번 감싸서 다시 넘기기때문에 실제로 수신 Data를 처리하는 부분은 위에서 설정한 dataRecive 함수
코드는 아래와 같다..
- void dataRecive(object sender, System.EventArgs args)
- {
- try
- {
- byte strData;
- if (serialPort1.IsOpen)
- {
- strData = (byte)serialPort1.ReadByte();
- serialPort1.DiscardInBuffer();
- progressBar1.Value = strData;
- lblBattery.Text = strData.ToString() + "%";
- }
- }
- catch (System.Exception e)
- {
- }
- }
시리얼 송신부분
- private void SerialSend(byte data)
- {
- if (serialPort1.IsOpen == true)
- {
- byte[] tmp = new byte[1];
- tmp[0] = data;
- serialPort1.Write(tmp, 0, tmp.Count());
- }
- }