【发布时间】:2021-06-15 08:27:42
【问题描述】:
我必须创建我认为非常简单的东西。我的主板上有物理按钮和串行端口。我想编写一个程序来读取按钮是否被按下,就是这样。问题是我在设备管理器中看不到任何 COM 端口(我使用的是 Windows 10)。我还读到,如果我将 1 和 7 针连接在一起,我可以从串口接收一些数据。
为什么我看不到 COM 端口,是否可以让它像上面写的那样工作?
【问题讨论】:
标签: windows windows-10 serial-port
我必须创建我认为非常简单的东西。我的主板上有物理按钮和串行端口。我想编写一个程序来读取按钮是否被按下,就是这样。问题是我在设备管理器中看不到任何 COM 端口(我使用的是 Windows 10)。我还读到,如果我将 1 和 7 针连接在一起,我可以从串口接收一些数据。
为什么我看不到 COM 端口,是否可以让它像上面写的那样工作?
【问题讨论】:
标签: windows windows-10 serial-port
“为什么我看不到 COM 端口”
解决方案 1:有时它只是隐藏。您需要打开设备管理器 -> 选择查看选项卡 -> 选择显示隐藏的设备。您可能会看到 Ports (COM & LPT) 选项。
解决方案 2:更新您的主板驱动程序。
解决方案 3:手动添加 COM 端口。看看这个link。
“如何从串口读取数据”
public static void Main()
{
SerialPort mySerialPort = new SerialPort("COM1");
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.Handshake = Handshake.None;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
mySerialPort.Open();
Console.WriteLine("Press any key to continue...");
Console.WriteLine();
Console.ReadKey();
mySerialPort.Close();
}
private static void DataReceivedHandler(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string indata = sp.ReadExisting();
}
每次数据进来时,DataReceivedHandler 都会触发并将你的数据打印到控制台。
您可以查看此link 以供参考。
【讨论】: