[英]C# System.IO.Ports with Arduino UNO - receiving two different lines
我对 Arduino 的温度测量有疑问。 在 Arduino IDE 串行监视器中对其进行测试时,我得到如下响应:
23.37
23.37
23.37
但是通过 c# .net core app 快速重新连接,控制台输出给了我:
23.
44
23.
44
23.4
4
我的 Arduino 代码很短,看起来像:
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
void setup(void)
{
// start serial port
Serial.begin(9600);
// Start up the library
sensors.begin();
}
void loop(void)
{
sensors.requestTemperatures();
delay(1500);
Serial.println(sensors.getTempCByIndex(0));
delay(100);
}
带有接收的 C# 代码部分:
soc.ReceiveMessage(port.ReadExisting());
其中 ReceiveMessage 方法只是
public void ReceiveMessage(string msg)
{
Console.WriteLine(msg);
soc.WebSocketServices.Broadcast(msg);
}
我究竟做错了什么?
将Serial.begin(9600)
更改为Serial.begin(115200)
并在 C# 代码中以波特率更改此值对我有所帮助。 大约有 90% 的消息收到良好。 但我不知道为什么它有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.