티스토리 뷰

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;

namespace SerialportTest
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = "프로그램이 실행되었습니다.";
        }

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Text = "Com1으로 연결을 시도합니다.";
            if (serialPort1.IsOpen)
            {
                label1.Text="Com1은 이미 연결되어있습니다.";
                label1.Text = "Com1으로 재연결을 시도합니다.";
                serialPort1.Close();
                serialPort1.PortName = "COM1";
                serialPort1.Open();
                label1.Text = "Com1으로 재연결을 했습니다.";
            }
            else
            {
                serialPort1.PortName = "COM1";
                serialPort1.Open();
                label1.Text="Com1으로 연결을 성공했습니다.";
            }
           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (serialPort1.IsOpen)
            {
                label1.Text = "신호를 전송합니다.";
                label1.Text = textBox1.Text;
                label2.Text = "전송된 신호는 "+textBox1.Text+"입니다.";
                serialPort1.Write(textBox1.Text);
            }
            else
            {
                label1.Text = "Com 접속이 되어있지 않습니다.";
            }
          
          
        }

        private void button3_Click(object sender, EventArgs e)
        {
            label1.Text = "신호를 읽어들입니다.";
            if (serialPort1.IsOpen)
            {
                // 마이컴에서 리드부분을 신경써놓지 않아서 작동 안함!
                //label2.Text = serialPort1.ReadLine();
                label1.Text = "죄송! 작동 안되용!";
            }
            else
            {
                label1.Text = "연결이 되어있지 않습니다.";
            }
        }
    }
}

TAG
, ,
댓글
  • 프로필사진 학생 궁금한게 있어서 질문합니다.
    제가 rs232 통신에 대해서 알지 못해서 질문을 하는것 일지도 모르겠지만
    rs232통신할 대상과 연결후
    변수 선언한 serialPort1의 open()함수를 쓰면 연결이 되는건가요?
    2011.01.26 23:22
  • 프로필사진 Favicon of https://starkapin.tistory.com BlogIcon 유승구 네, C#의 경우엔 Open 함수를 지원하기 때문에 그대로 쓰시면 됩니다. 2011.02.09 11:28 신고
댓글쓰기 폼