2013-03-11 1 views
0

내 단계 : 1.using System.IO.Ports; using system.Threading;serialPort 통신, C#을 사용하여 단일 개발 IDE에서 스레드를 사용하여

2.SerialPort mySerialPort = 새 SerialPort ("Com1", 9200, Parity.None, 8, StopBits.One); 3.mySerialPort.Open(); // 예외가 발생 함 : System.IO.IOException이 throw되었습니다. 해당 파일이나 디렉터리가 없습니다.

4.myThread = new Thread (new ParameterizedThreadStart (ReadPortThread)); 5.myThread.Start (mySerialPort);

6.ReadPortThread (하여 SerialPort하여 SerialPort() //하여 SerialPort로부터 데이터를 수신.

당신이 문제에 대한 몇 가지 제안을 줄 바랍니다.

+0

어쩌면 COM1은 없습니다 "COM1, 내가"는/dev/ttyS0에 "와 같은 포트 이름을 설정해야합니다 나는 리눅스 시스템은 우분투 시스템에서 오전 COM1은 – Max

답변

0
I'am도하여 SerialPort 통신 작업

및 광산 작품 :

  ///<summary> 
      ///creating new serialPort, fill it with a portname and give it BaudRate value 9600. 
      ///</summary> 
      _serialPort = new SerialPort(); 
      _serialPort.PortName = portname; 
      _serialPort.BaudRate = 9600; 
      _serialPort.Parity = Parity.None; 
      _serialPort.StopBits = StopBits.One; 

      try 
      { 
       if (!_serialPort.IsOpen) 
       { 
        //open the port. 
        _serialPort.Open(); 
       } 
       //when the port is open 
       if (_serialPort.IsOpen) 
       {   
        _serialUsbThread = new Thread(SerialWorker); 
        _serialUsbThread.Priority = ThreadPriority.Highest; 
        _serialUsbThread.Start(); 
       } 
      } 
      catch (Exception ex) 
      { 
       Debug.WriteLine(DateTime.UtcNow + " SERIAL: " + ex.Message); 
      }   
+0

감사 부여됨 코드 정말 me.Beacuse 도움이 될 필요가 ".이 직렬 포트를 사용합니다 :"/ dev/ttyS0 " –

+0

대답으로 선택하십시오 :) – Max