当前位置:编程学习 > C#/ASP.NET >>

C#中怎么向串口发送数据

C#中怎么向串口发送数据,能有具体的代码实例吗,新手,请求帮助! --------------------编程问答-------------------- 参考 --------------------编程问答-------------------- http://download.csdn.net/source/3298494 --------------------编程问答-------------------- 有一个serial类,看看就明白了 --------------------编程问答-------------------- 我也要学习这个 --------------------编程问答-------------------- 我也想学啊,看那帮高人弄单片机,真羡慕。 --------------------编程问答--------------------
引用 2 楼 jq_whh 的回复:
http://download.csdn.net/source/3298494

这个是好资源啊,就是半天打不开下载窗口。 --------------------编程问答--------------------  private SerialPort serialPort = new SerialPort();

这个类可以对串口进行读或者写 --------------------编程问答-------------------- 就是弄个写串口的程序,没有那么复杂的。
另外整单片机程序的人,真的很无聊得。
private SerialPort serialPort = new SerialPort();
设置serialPort 的参数,端口号,波特率,校验位等。
写个byte数组发送就行了。等着设备给你返回数据就行了。
这是grps串口设备的例子:参考
这是打印机串口设备的例子:参考 --------------------编程问答-------------------- mark --------------------编程问答-------------------- 我写过一些
http://blog.csdn.net/wuyazhe/category/695097.aspx --------------------编程问答-------------------- 可以用按钮驱动事件来实现,单击按钮,引发事件,在事件的方法中发送并接受数据!
发送:把发送文本字符串编码成字节流存入字节数组a,并将a的元素写入串口缓冲区!
接受:把缓冲区字节流读取到另一个字节数组b,并将b的元素解码成string字符串,在把字符串显示到接受文本即可!               
看看我的代码!
         //发送数据
        private void send_Click(object sender, EventArgs e)
        {
            byte[] data = ASCIIEncoding.GetEncoding("gb2312").GetBytes(sdtext.Text.ToString());
            if (mycomm.IsOpen)
            {
                mycomm.Write(data,0,data.Length);
                mycomm.WriteLine("\r");
            }
        }
         
        //接收数据
        private void mycomm_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            int DataLength = mycomm.BytesToRead;//获取接受缓冲区中数据的字节数
            int i = 0;
            StringBuilder strb = new StringBuilder();
            while (i < DataLength)
            {
                byte[] dbs = new byte[2048];
                int len = mycomm.Read(dbs,0,2048);//从输入缓冲区中读取2048个字节,并将这些字节写入到dbs[]数组中
                strb.Append(ASCIIEncoding.GetEncoding("gb2312").GetString(dbs, 0, len));
                i += len;
            }
            revtext.Text += strb;
        }
--------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,