我有这个Arduino代码只是为了测试目的:
int num=0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(num);
num+=1;
delay(800);
}现在它打印一个整数并将其值增加一个。当我打开串行监视器时,它将按预期每800毫秒打印一次。
我的Arduino在6号港连接
现在,如果我试图访问这个端口,它说它在使用中,我试图从一个.NET应用程序访问它。我怎样才能做到呢?
从c#中收集的互联网络代码稍微修改了一下:
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);
}
}
}
},我怎样才能从那个串口嗅探数据呢?教育目的
发布于 2019-11-11 14:32:43
你不能打开串行端口两次。
如果您想要查看总线正在进行的操作(嗅探),可以使用虚拟端口和端口转发,请参阅这里获取完整的示例。
没有什么能阻止您用自己的代码(.NET或其他)替换链接中讨论的任何工具,如果它们不适合您的需要,或者如果您有足够的决心重新发明轮子。
https://stackoverflow.com/questions/58796648
复制相似问题