C # System.IO.Ports с Arduino UNO - получение двух разных строк - PullRequest
0 голосов
/ 12 мая 2019

У меня проблема с Arduino с измерением температуры.При тестировании его в мониторе Arduino IDE Serial у меня появляются следующие ответы:

23.37
23.37
23.37

Но быстрое переподключение с помощью основного приложения c # .net с выводом на консоль дает мне:

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); 
}

Что я делаю не так?

1 Ответ

0 голосов
/ 12 мая 2019

Изменение Serial.begin(9600) на Serial.begin(115200) и изменение этого значения в бодах в коде C # помогло мне.Там около 90% сообщений получено хорошо.Но я понятия не имею, почему это помогло.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...