Heim >Backend-Entwicklung >C++ >Wie kann ich WinForms und Visual Studio verwenden, um Daten von einem USB-Gerät mit seriellem Anschluss zu lesen?
Dieser Code sollte mit einem USB-zu-Seriell-Port-Gerät funktionieren, möglicherweise funktioniert er auch mit Ihrer Waage. Einige der Porteinstellungen wurden durch Herunterladen/Installieren von WinCT gefunden (RsCom, RsKey und RsWeight). Wählen Sie dann im Windows-Startmenü unter A&D WinCT entweder RsCom oder RsKey aus. Mit RsCom oder RsKey können Sie auf einfache Weise überprüfen, ob Ihr USB-Kabel/Ihre Verbindung funktioniert. Ich habe sowohl „RsKey“ als auch „RsCom“ mit meinem seriellen USB-Gerät verwendet und es schien zu funktionieren.
Erstellen Sie ein WinForms-Projekt
VS 2017:
Visual Studio öffnen
Erweitern Installiert
Erweitern Sie Visual C#
Klicken Sie auf Windows-Desktop
Wählen Sie Windows Forms App (.NET Framework)
Projektnamen angeben (Name: ReadSerialPort)
Klicken OK
VS 2019:
Visual Studio öffnen
Klicken Sie auf Weiter ohne Code
Klicken Sie auf Datei
Auswählen Neu
Wählen Sie Projekt
C# Windows Desktop
Klicken Sie auf Windows Forms App (.NET Framework)
Klicken Sie auf Weiter
Geben Sie den Projektnamen an (Name: ReadSerialPort)
Klicken Sie auf Erstellen
Hinweis:Von diesem Punkt an ist der Vorgang für VS 2017 und VS 2019 derselbe.
Klasse hinzufügen: SerialPortDataReceivedEventArgs
Hinweis: Diese Klasse wird mit einem Ereignis verwendet, das die vom Gerät mit serieller Schnittstelle empfangenen Daten an einen Abonnenten sendet.
Wählen Sie im VS-Menü ProjektWählen Sie
Klasse hinzufügen (Name: SerialPortDataReceivedEventArgs.cs)
SerialPortDataReceivedEventArgs.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ReadSerialPort { public delegate void SerialPortDataReceivedEventHandler(object sender, SerialPortDataReceivedEventArgs e); public class SerialPortDataReceivedEventArgs : System.EventArgs { public string Data { get; private set; } = string.Empty; public SerialPortDataReceivedEventArgs(string data) { this.Data = data; } } }Referenz zu System.Management hinzufügenWählen Sie im VS-Menü
ProjektWählen Sie
Hinzufügen ReferenzErweitern Sie
BaugruppenÜberprüfen Sie
System.ManagementKlicken Sie auf
OK
ProjektWählen Sie
Klasse hinzufügen (Name: ComPorts.cs)
ComPorts.cs
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ReadSerialPort { public class ComPorts { public List<ComPortInfo> Ports { get; set; } = new List<ComPortInfo>(); } public class ComPortInfo { public string Name { get; set; } public string PortName { get; set; } public ComPortInfo() { } public ComPortInfo(string name, string portName) { this.Name = name; this.PortName = portName; } } }Klasse hinzufügen: HelperSerialPortWählen Sie im VS-Menü aus
ProjektWählen Sie
Klasse hinzufügen (Name: HelperSerialPort.cs)
HelperSerialPort.cs
//if Installieren Sie mit .NET 5 das NuGet-Paket: System.IO.Portsusing System;using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
mit System.IO.Ports;
mit System.Diagnostics;
mit System.Management;
{
Das obige ist der detaillierte Inhalt vonWie kann ich WinForms und Visual Studio verwenden, um Daten von einem USB-Gerät mit seriellem Anschluss zu lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!