C# 文件操作详解(一)File类_luoyanqing119的专栏-CSDN博客_c# file
C# string类型和byte[]类型相互转换_大佛爷的博客-CSDN博客
1.新建一个C#窗体应用程序
2.了解串口调试助手需要哪些参数(端口号、波特率、数据位、停止位、校验位等)、
3.绑定参数(参数已知的情况下可以在程序中默认,可选参数可以用ComboBox控件)、
一、新建窗体,串口参数绑定(用到的控件有groupBox、Label、ComboBox、Button、SerialPo
rt )
控件 | 控件(Name) | 控件(Text) |
groupBox | groupBox1 | COM |
Label | label1 | Port Name |
PortCbx | PortCbx | 【空】 |
Button | OpenCloseBtn | Open |
SerialPort | SerialPort1 | 【无】 |
二、双击【Form1】空白部分,进入Form1.cs,写获取PC上可用COM列表函数
使用之前添加using System.IO.Ports; 命名空间
public Form1()
{
InitializeComponent();
InitializeCOMcombox(); //函数用在窗体开始初始化的时候
}
private void InitializeCOMcombox()
{
string[] ports = System.IO.Ports.SerialPort.GetPortNames(); //获取电脑上的可用串口
Array.Sort(ports);
for (int i = 0; i < ports.Length; i++)
{
PortCbx.Items.Add(ports[i]); //添加到PortCbx列表
}
PortCbx.Text = ports[0];
}
三、双击【Open】控件,绑定串口
private void OpenCloseBtn_Click(object sender, EventArgs e)
{
if (OpenCloseBtn.Text == "Open") //如果按钮显示的是打开
{
try
{
serialPort1.PortName = PortCbx.Text; //获取COM号
serialPort1.BaudRate = 9600;
serialPort1.DataBits = 8;
serialPort1.StopBits = StopBits.One;
serialPort1.Parity = Parity.None;
serialPort1.Open();
OpenCloseBtn.Text = "Close";
}
catch
{
MessageBox.Show("打开失败");
}
}
else
{
try
{
serialPort1.Close();
}
catch
{
}
OpenCloseBtn.Text = "Open";
}
}
串口参数也可以直接选中【SerialPort1控件】,在属性框设置
四、发送数据
例如:按下某个Button控件,发送一串数据,可以这样
private void ToOriginBtn_Click(object sender, EventArgs e) //ToOriginBtn是Button控件的【Name】
{
Byte[] SendBuf = new byte[8] { 0x02, 0x06, 0x00, 0x06, 0x00, 0x01, 0xA8, 0x38 };
serialPort1.Write(SendBuf, 0, 8);
}
五、接收数据
单击SerialPort控件,如下,再点击DataReceived,可以调用调用相应的接收函数,处理接收数据