主机发送串口指令
推荐的替代方案:
C# (.NET):这是最推荐的方案。Windows 10 系统通常自带 .NET Framework,你只需要把代码保存为 .cs 文件,利用系统自带的编译器 csc.exe 即可直接编译运行,完全不需要额外安装任何环境。
PowerShell:Windows 10 自带 PowerShell,它可以直接调用底层的 .NET 类库来实现串口通信,连编译的过程都省了,直接运行脚本即可。
下面我为你提供这两种方案的代码:
方案一: 使用 C# (利用 Windows 自带编译器)
在D盘创建一个文件夹名称: SendCmd 文件夹
在文件夹内部创建一个txt,

编辑。将以下代码复制并保存,
using System;
using System.IO.Ports;
class Program
{
static void Main()
{
SerialPort serialPort = new SerialPort("COM5", 9600);
try
{
serialPort.Open();
Console.WriteLine("串口 COM5 已打开");
// 在这里替换为你的控制指令
string command = "YOUR_COMMAND_HERE\r\n";
serialPort.Write(command);
Console.WriteLine("指令已发送: " + command.Trim());
// 稍微等待一下设备响应
System.Threading.Thread.Sleep(100);
if (serialPort.BytesToRead > 0)
{
string response = serialPort.ReadExisting();
Console.WriteLine("设备回复: " + response);
}
}
catch (Exception ex)
{
Console.WriteLine("发生错误: " + ex.Message);
}
finally
{
if (serialPort.IsOpen) serialPort.Close();
}
}
}

选择名称,全选,更改名称为 SendCmd.cs。

在文件夹搜索框 位置 ,输入 cmd 打开命令提示符。
进入代码所在的文件夹,运行系统自带的编译器:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe SendCmd.cs
运行生成的 SendCmd.exe 即可。

csharp
这个不退出软件后台方便查看串口COM (卢小测试运行不退出,按上面方法运行cmd生成exe)
using System;
using System.IO.Ports;
class Program
{
static void Main()
{
SerialPort serialPort = new SerialPort("COM5", 9600);
try
{
serialPort.Open();
Console.WriteLine("串口 COM5 已打开");
// 修改这里为实际串口指令
string command = "YOUR_COMMAND_HERE\r\n";
serialPort.Write(command);
Console.WriteLine("指令已发送: " + command.Trim());
System.Threading.Thread.Sleep(100);
if (serialPort.BytesToRead > 0)
{
string response = serialPort.ReadExisting();
Console.WriteLine("设备回复: " + response);
}
}
catch (Exception ex)
{
Console.WriteLine("发生错误: " + ex.Message);
}
finally
{
if (serialPort.IsOpen)
serialPort.Close();
}
// 增加等待,防止程序运行完立刻闪退
Console.WriteLine("\n按回车键退出...");
Console.ReadLine();
}
}方案二: 使用 PowerShell (无需编译,直接运行)
如果你不想编译,这是最简单的方法。
将以下代码复制并保存为 SendCmd.ps1。
右键点击该文件,选择“使用 PowerShell 运行”(或者在 PowerShell 终端中执行 .\SendCmd.ps1)。
powershell
编辑
try {
# 初始化串口
$port = New-Object System.IO.Ports.SerialPort "COM5", 9600
$port.Open()
Write-Host "串口 COM5 已打开" -ForegroundColor Green
# 在这里替换为你的控制指令
$command = "YOUR_COMMAND_HERE`r`n"
$port.Write($command)
Write-Host "指令已发送: $command"
# 等待并读取回复
Start-Sleep -Milliseconds 100
if ($port.BytesToRead -gt 0) {
$response = $port.ReadExisting()
Write-Host "设备回复: $response" -ForegroundColor Cyan
}
}
catch {
Write-Host "发生错误: $_" -ForegroundColor Red
}
finally {
if ($port -and $port.IsOpen) {
$port.Close()
Write-Host "串口已关闭"
}
}⚠️ 运行前的小提示:
记得把 YOUR_COMMAND_HERE 换成你真实的控制指令。
运行前请确保没有其他软件(如串口调试助手)正在占用 COM5。
如果 PowerShell 提示“禁止运行脚本”,可以在管理员权限的 PowerShell 中先运行一次:Set-ExecutionPolicy RemoteSigned,然后再执行脚本。
欢迎光临我的博客 🎉
这里会分享我的日常和学习中的收集、整理及总结,希望能对你有所帮助:) 💖

—— 评论区 ——