繁体   English   中英

带有 Arduino UNO 的 C# System.IO.Ports - 接收两条不同的线路

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM