Я думаю, вы можете просто использовать SerialPort
из System.IO.Ports
. Что касается arduino, используйте Serial
статический класс для записи / чтения порта.
Вот небольшой набросок, иллюстрирующий, как вы можете продолжить (с помощью приложения Windows Forms).
.NET (txtCom As TextBox
и btnSend As Button
)
Imports System.IO.Ports
Public Class SerialCom
Dim WithEvents SP As New SerialPort("COM5", 9600)
Private Sub SerialCom_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SP.Open()
End Sub
Private Sub SP_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SP.DataReceived
Dim dataR As String = SP.ReadExisting
Me.Invoke(New updateText(AddressOf updateText_s), dataR)
End Sub
Public Delegate Sub updateText(ByVal line As String)
Sub updateText_s(ByVal line As String)
txtCom.AppendText(line)
End Sub
Private Sub btnSend_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSend.Click
SP.Write("Welcome")
End Sub
End Class
Arduino
void setup() {
Serial.begin(9600);
Serial.setTimeout(200); // Wait 200ms max. when Serial.readString() is called
}
void loop() {
Serial.println("CONNECTION");
delay(1000);
Serial.println("+OK");
delay(1000);
String rec;
rec=Serial.readString();
Serial.println("Received:'"+rec+"'"); // Send back what we received
}
ПРИМЕЧАНИЯ. Чтобы проверить идентификатор COM-порта, вы можете {CTRL} + {BEAK} в Windows, затем открыть диспетчер устройств и найти Arduino в поддереве PORT. Не забудьте подключить arduino перед запуском приложения .NET.
Последовательная связь на Arduino: https://www.arduino.cc/reference/en/language/functions/communication/serial/