日期:2014-05-19  浏览次数:20907 次

怎么用C#中的SerialPort写一个通信串口调试程序
请高手给出清楚的解释好吗???

------解决方案--------------------
你要是用.NET2.0 其中就有SerialPort的控件。
串口又称rs232,常用在工业控制,串口主要有以下几个参数:
1.串口名称(PortName)
2.波特率(BaudRate)
3.数据位(DataBits)
4.奇偶效应(Parity)
5.停止位(StopBits)

在实现通信之前先要配置以上几个参数。如果你需要更详细的代码,请回复。
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace chuankou
{
public partial class Form1 : Form
{
public Form1()
{
//SerialPort sp = new SerialPort( "COM1 ", 9600, Parity.None, 8, StopBits.One);
InitializeComponent();
}

private void button1_Click(object sender, EventArgs e)
{
SerialPort sp = new SerialPort( "COM1 ", 9600, Parity.None, 8, StopBits.One);
sp.Open();
if (textBox1.Text == " ")
{
MessageBox.Show( "请检查输入! ");
}
else
{
sp.WriteLine(textBox1.Text);
textBox2.Text = sp.ReadLine();
sp.Close();
}
}

private void button2_Click(object sender, EventArgs e)
{
this.Close();
}
}
}

------解决方案--------------------
你也可以直接从工具栏中拖一个serialPort控件到界面上,在属性设置中设置端口号和参数,也可以在代码中定义。
发送ASCII码的代码为:serialPort.WriteLine( "stringOutput ");
接收ASCII码的代码为:serialPort.ReadLine();
如果你想自动接收数据,可以在serialPort的DataReceived事件中处理数据。
我没有做二进制码的收发,原理都是一样的,楼主自己斟酌一下。
------解决方案--------------------
用.NET2.0 其中就有SerialPort的控件。
串口又称rs232,常用在工业控制,串口主要有以下几个参数:
1.串口名称(PortName)
2.波特率(BaudRate)
3.数据位(DataBits)
4.奇偶效应(Parity)
5.停止位(StopBits)