可以帮我写相关的代码吗
时间: 2024-01-22 08:02:08 浏览: 61
当然可以,以下是一份示例代码,可以帮助你解决这个问题:
```csharp
using System.IO.Ports;
using System.Threading;
namespace SerialPortDemo
{
class Program
{
static SerialPort serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
static void Main(string[] args)
{
OpenSerialPort();
while (true)
{
WriteData();
Thread.Sleep(1000);
}
}
static void OpenSerialPort()
{
if (!serialPort.IsOpen)
{
serialPort.Open();
}
}
static void WriteData()
{
if (serialPort.IsOpen)
{
// 检查串口状态是否可用
while (!serialPort.CtsHolding && !serialPort.DsrHolding)
{
Thread.Sleep(10);
}
// 写入数据
try
{
serialPort.Write("Hello World!\r\n");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
}
```
在这个示例代码中,我们使用了一个 while 循环来不断写入串口数据,同时还加入了一些检查串口状态的代码,确保在写入数据之前,串口状态是可用的。
当然,这只是一个示例代码,具体的实现方式可能需要根据你的实际情况来调整。
阅读全文