Итак, я пытаюсь прочитать данные с последовательного порта для связи с Arduino.Вот код, который я использую:
public partial class Form1 : Form
{
SerialPort port = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
public Form1()
{
InitializeComponent();
port.Open();
port.DataReceived += new SerialDataReceivedEventHandler(port_DataReceived);
}
private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
this.Invoke(new EventHandler(DoUpDate));
}
private void DoUpDate(object s, EventArgs e)
{
textBox1.AppendText(port.ReadLine() + "\r\n");
}
}
Но результат, который я получаю в текстовом поле (проверьте изображение):
Значение чтения должно быть 975, но я получил отдельные значения, а также много пустых строк.
Произведена любая помощь.
РЕДАКТИРОВАТЬ # 1:
Здеськод Arduino:
int sensorPin=A0;
int sensorValue=0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
sensorValue=analogRead(sensorPin);
Serial.print(sensorValue);
Serial.print("\n");
}
И вот результат, когда я нажимаю на последовательный считыватель в IDE arduino (который должен показать код C #)
РЕДАКТИРОВАТЬ # 2
Подумав больше о проблеме, я думаю, что код C # очень быстрый, он читает неполные данные, но у меня нет решения для этого, сделайтеВы знаете что-нибудь, что я могу попытаться решить?