2013-11-26 3 views
0

PC에서 PIC 16fxxxx 마이크로 컨트롤러로 데이터를 보내고 싶습니다. 나는 C#을 사용 직렬 포트 송신기 코드 작성 : 그 코드를 테스트는 성공하지만, 수신기는 또한 PC을했다 :시리얼 포트 연결 확인

 try 
     { 

      SerialPort port = new SerialPort(
       "COM11", 9600, Parity.None, 8, StopBits.One); 

      // Open the port for communications 
      port.Open(); 

      //////////////////// 

      byte array1; 
      array1 = Convert.ToByte("11100100", 2); 

      ///// 
      byte[] array = new byte[1]; 
      array[0] = array1; 



      port.Write(array, 0, 1); 

      // Close the port 
      port.Close(); 

     } 
     catch (Exception ed) 
     { 

      MessageBox.Show(ed.Message); 
     } 

내 질문은 : 여기

를 코드입니다. 이 코드는 일반적인 것입니까? PIC에 연결하면 같은 방식으로 작동합니까?

답변

0

예, 포트에서 데이터를 전송하여 다른 PC에서 수신 할 수있는 경우 마이크로 컨트롤러에서 수신하지 않아야하는 이유는 없습니다. 올바른 하드웨어 및 소프트웨어가 필요합니다. 마이크로 컨트롤러도 끝납니다.

0

포트는 송신기와 수신기 모두에서 열어야합니다.

0

배열의 첫 번째 바이트 만 보내시겠습니까? 왜? 또한 데이터를 보낸 직후 포트를 닫으면 방해가 될 수 있습니다. 그것을 열어 두거나 적어도 지연을 가해보십시오 (System.Threading.Thread.Sleep (500);

+0

) 방해가되는 이유 어떻게해야하나요? @jonathan –

+0

전송이 완료되기 전에 포트가 닫혀있을 수도 있습니다. 일반적으로 응용 프로그램이 시작될 때 포트가 열리고 응용 프로그램이 닫힐 때까지 포트가 열립니다. – skinnedKnuckles