2011-10-09 4 views
4

미리 도움을 주셔서 감사합니다. 난 가벼운 C# 프로그램을 작성하여 작업을 위해 직렬 포트에 명령을 보내고 프로그래머가 아니다. 내 문제는 내 단추가 직렬 포트로 회선을 보내지 않을 것입니다. 여기 내 코드는 다음과 같습니다.C#으로 직렬 포트에 쓰기 명령을 보내시겠습니까?

using System; 
    using System.Collections.Generic; 
    using System.ComponentModel; 
    using System.Data; 
    using System.Drawing; 
    using System.Linq; 
    using System.Text; 
    using System.Windows.Forms; 
    using System.IO.Ports; 

    namespace WindowsFormsApplication1 { 
     public partial class Form1 : Form { 

     string command = "Turn Motor"; 
     SerialPort COM1 = new SerialPort("COM1"); 

     public Form1() { 
      InitializeComponent(); 
      COM1.Open(); 

     } 

     private void button1_MouseClick(object sender, MouseEventArgs e) { 

      COM1.WriteLine(command); 

     } 

    } 

버튼 1 클릭으로 텍스트 행을 직렬 포트로 보내려면 어떻게해야합니까? 이 코드는 하나의 워크 스테이션에서만 실행되므로 가능한 한 간단해야합니다. 모든 예제를 살펴 보았지만이를 코드에 적용 할 수 없었습니다. 나는 또한 다른 사람들의 코드를 뻔뻔하게 찢어서 작동시키지 않기를 바란다. 어떤 조언을 주시면 감사하겠습니다.

편집 : 위의 코드는 모든 것이 아닙니다. 예를 들어 포트를 올바르게 초기화하고 있습니다. 문자열을 제대로 받고 처리하는 코드 섹션이 있는데, 문제가있는 발신자 일뿐입니다. 폼 디자이너를 사용하여 버튼 메서드를 만들었으므로 거기에는 연결이 끊어져서는 안됩니다.

+10

"... 다른 사람들의 코드를 뻔뻔하게 찢어서 작동시키지 않으려 고합니다. "... 당신은 확실히 프로그래머가 아닙니다! ;-) – Clive

답변

3

내가 제안 :

  1. 대신 MouseClick 이벤트의 Click 이벤트를 사용합니다.

  2. button1_MouseClick 메서드를 방금 예제에서 복사 한 경우 해당 메서드는 아마도 click 이벤트에 제대로 가입하지 않았을 것입니다. Visual Studio 디자이너에서 버튼을 두 번 클릭하면 click 이벤트에 자동으로 가입 된 메소드가 자동으로 설정됩니다. 그 자리에 당신이 넣을 곳입니다. COM1.WriteLine(command);

  3. 그런 제안이 모두 올바르지 않으면 잘못된 포트를 열지 않는 한 예외가 발생했을 것입니다. 이 경우 여기에 질문에서 오류를 설명해야합니다.

+0

응답 해 주셔서 감사합니다. 이유를 모르지만 마우스 클릭을 클릭으로 변경했습니다. 저는 C#을 처음 사용했습니다. 버튼을 두 번 클릭하는 대신 마우스 오른쪽 버튼으로 클릭하고 "mouseclick"을 선택했습니다. 가장 감각적 인 것으로 보였기 때문에, 내가 무엇을하고 있는지 전혀 알지 못했기 때문입니다. MSDN 문서에서 Click vs. MouseClick을 간략하게 살펴 보았습니다. – TerrorTech

3

Com 포트를 초기화하지 않은 것 같습니다. BaudRate, Parity, DataBits, StopBitsHandshake 속성을 설정해야합니다. 위의 MSDN 예제를 참조하십시오. 속성의 개체를 설정하거나 생성자에서 설정할 수 있습니다.

MSDN에 따르면 상기 propertys의 기본값 :

+0

응답 해 주셔서 감사합니다. 포트는 시스템 기본값으로 구성되므로 개별 매개 변수를 초기화 할 필요가 없습니다. – TerrorTech

관련 문제