using System;
using System.IO.Ports;
namespace CSharp_UpperComputer
{
class Program
{
static void Main(string[] args)
{
// 创建串口对象
SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
try
{
// 打开串口
serialPort.Open();
Console.WriteLine("串口已打开");
// 设置数据接收事件处理程序
serialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
// 发送数据到下位机
string dataToSend = "Hello from Upper Computer";
serialPort.WriteLine(dataToSend);
Console.WriteLine("发送数据: " + dataToSend);
// 等待用户输入以保持程序运行
Console.WriteLine("按任意键退出...");
Console.ReadKey();
// 关闭串口
serialPort.Close();
Console.WriteLine("串口已关闭");
}
catch (Exception ex)
{
Console.WriteLine("发生错误: " + ex.Message);
}
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
Console.WriteLine("接收到的数据: " + indata);
}
}
}
创建串口对象:
SerialPort
类创建一个串口对象,并指定串口号(如 "COM1")、波特率(如 9600)、校验位、数据位和停止位。打开串口:
serialPort.Open()
方法打开串口,准备进行通信。设置数据接收事件处理程序:
DataReceived
事件来监听来自下位机的数据。当有数据到达时,触发 DataReceivedHandler
方法处理接收到的数据。发送数据到下位机:
serialPort.WriteLine()
方法将字符串数据发送到下位机。等待用户输入:
Console.ReadKey()
方法等待用户按键,以保持程序运行状态。关闭串口:
serialPort.Close()
方法关闭串口,释放资源。异常处理:
try-catch
块捕获并处理可能发生的异常,确保程序的健壮性。上一篇:c# orderby
下一篇:c#枚举类型enum用法
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站