以前没有接触过这个串口问题,目前公司开发的客房控制系统需要用到串口。请教大家怎么去编写串口通信的代码
<我用的是Winform开发的,界面都弄好了,关键是怎么和硬件进行数据的接受和发送>
通信格式: 9600 N 0 1  
功能: 高三位类型低五位具体功能<例如:001(客房卡)+00001(服务请求)>
越详细约好,有代码的话,希望各位个注释协商。  
小弟先谢过,能得到大侠们帮助,用点小分来答谢各位。

解决方案 »

  1.   

    C# 串口操作系列(1) -- 入门篇,一个标准的,简陋的串口例子。 
    C# 串口操作系列(2) -- 入门篇,为什么我的串口程序在关闭串口时候会死锁 ? 
    C# 串口操作系列(3) -- 协议篇,二进制协议数据解析 
      

  2.   

    自己收集的一些资料,希望对你有帮助!
    1、在C#中使用SerialPort类实现串口通信 遇到多线程问题 
    http://blog.21ic.com/user1/1949/archives/2010/66360.html
    2、C#基于事件驱动的多串口多线程串口通讯软件架构设计
    http://hi.baidu.com/rambochow/blog/item/b662cfc417887da58326ac31.html
    3、c#编写串口通讯代码 多线程实现
    http://download.chinaprj.cn/detail/iDbsTbrr
    4、[转载]C#中串口通信编程
    http://blog.pfan.cn/sword2008/38218.html
      

  3.   

    不是高手,只是刚好用过C#WinForm的串口.
    首先,找找ToolBox处,有个叫SerialPort的控件,拖到窗里,加入后就行.在Form1处应该会加入了一个叫 serialPort1 的变量,对于楼主说的 9600 N 8 1,可以在serialPort1处的属性里设好就行,很简单的,也可以在代码里设,我自己是这样写的,打开串口的代码.                try
                    {
                        serialPort1.PortName = "COM1";
                        serialPort1.BaudRate = 115200;
                        serialPort1.Parity = System.IO.Ports.Parity.None;
                        serialPort1.DataBits = 8;
                        serialPort1.StopBits = System.IO.Ports.StopBits.One;
                        serialPort1.Open();
                    }
                    catch(UnauthorizedAccessException ex)//被别的程序打开了串口
                    {
                        MessageBox.Show(ex.Message + " Maybe another application is using this COM", "COM open failed!",
                            MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                    catch (Exception ex)//找不到串口或其他问题
                    {
                        MessageBox.Show(ex.Message);
                    }
    然后要发送时,serialPort1.Write("123");这样就行了.
    接收的话,serialPort1的属性窗口,事件表里,响应DataReceived事件就行了.
    至于 DataReceived 函数要怎么写,其实1楼的高手,早就把串口的使用发了网址给你.
    你看他的代码就行了.不要等高手来了,他的网址就可以解决你的问题.
    我的代码只是比1楼的多了个catch(UnauthorizedAccessException ex)而已.
    他网址里关于串口的代码都很全,你去参考一下吧.