日期:2014-05-17  浏览次数:21075 次

C#串口数据的接收
问题:当按下button按钮之后,开始连接到串口读取数据,
如果不按停止按钮,则一直读取串口数据,数据如(05 06 FF)之类的,前面05 06表示地址,后面FF表示测试数据,
需要将地址记录下来,如string add0= 05 06(这种数据类型的处理也不清楚,希望大家指教),add1=,add2=....,(这些地址我要用到控件的加载,不同地址加载不同的控件)。
对于串口在网上查看了资料,现在有点乱,还请指教。
我自己写的一点程序如下,请指教:
private void toolStripButton1_Click(object sender, EventArgs e)
        {
            sp.PortName = "COM1";
            sp.BaudRate = 38400;
            sp.Open();//连接串口
           string address = sp.ReadLine();//读取缓冲区数据    //需要循环??
           string addx = address.Substring(0,2);
           string temp = address.Substring(2,1);
------最佳解决方案--------------------
楼主这样写法可以读到数据么 我表示怀疑啊
你要指定串口的DataReceived事件 并稳妥一个函数去读串口
------其他解决方案--------------------
http://download.csdn.net/detail/yeqi3000/4853494
看看吧。
------其他解决方案--------------------
05 06 FF 
16进制的 
05 06 这要看协议的有可能05是协议动作 06 FF是长度。
要具体情况具体分析。
------其他解决方案--------------------
我就是对C#串口通信不明白啊,看了网上别人博客里的内容,以为就是这样的,看来还差得远,但是具体的确实不太懂,希望大家帮个忙