嗅探串口 - .net
sniff serial port - .net
我有这个 Arduino 代码只是为了测试目的:
int num=0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(num);
num+=1;
delay(800);
}
现在它打印一个整数并将其值递增 1。当我打开 Serial Monitor 时,它会按预期每 800 毫秒打印一次。
我的 Arduino 连接在 PORT-6
现在,如果我尝试访问端口,它说它正在使用中,我正在尝试从 .NET
应用程序访问它。我该怎么做?
c#代码,收集自internet,稍作修改:
using System;
using System.IO.Ports;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static SerialPort _serialPort;
public static void Main()
{
_serialPort = new SerialPort();
_serialPort.PortName = "COM6";//Set your board COM
_serialPort.BaudRate = 9600;
_serialPort.Open();
while (true)
{
string a = _serialPort.ReadExisting();
Console.WriteLine(a);
}
}
}
}
如何从该串口嗅探数据? [教育目的]
一个串口不能打开两次
如果您想查看总线上发生了什么(嗅探),您可以使用虚拟端口和端口转发,请参阅 了解完整示例。
没有什么能阻止您用自己的代码(.NET 或其他)替换 link 中讨论的任何工具,以防它们不适合您的需要或您有足够的决心重新发明轮子。
我有这个 Arduino 代码只是为了测试目的:
int num=0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(num);
num+=1;
delay(800);
}
现在它打印一个整数并将其值递增 1。当我打开 Serial Monitor 时,它会按预期每 800 毫秒打印一次。
我的 Arduino 连接在 PORT-6
现在,如果我尝试访问端口,它说它正在使用中,我正在尝试从 .NET
应用程序访问它。我该怎么做?
c#代码,收集自internet,稍作修改:
using System;
using System.IO.Ports;
using System.Threading;
namespace ConsoleApp1
{
class Program
{
static SerialPort _serialPort;
public static void Main()
{
_serialPort = new SerialPort();
_serialPort.PortName = "COM6";//Set your board COM
_serialPort.BaudRate = 9600;
_serialPort.Open();
while (true)
{
string a = _serialPort.ReadExisting();
Console.WriteLine(a);
}
}
}
}
如何从该串口嗅探数据? [教育目的]
一个串口不能打开两次
如果您想查看总线上发生了什么(嗅探),您可以使用虚拟端口和端口转发,请参阅
没有什么能阻止您用自己的代码(.NET 或其他)替换 link 中讨论的任何工具,以防它们不适合您的需要或您有足够的决心重新发明轮子。