2009-08-07 1 views
24

Ho appena iniziato a imparare come inviare e ricevere dati dal mio hardware attraverso la GUI C#.Come leggere e scrivere dalla porta seriale

Chiunque può scrivere un dettaglio come leggere i dati dalla porta seriale?

+0

possibile duplicato del [gestione delle porte seriali in C#] (http://stackoverflow.com/questions/7275084/managing-serial-ports-in-c-sharp) –

+0

Il in alternativa: il post collegato è un duplicato di questo. Si prega di utilizzare questa domanda come duplicato canonico. – Lundin

risposta

57

SerialPort (RS-232 Serial COM Port) in C# .NET
Questo articolo spiega come utilizzare la classe SerialPort in .NET per leggere e scrivere dati, determinare quali sono disponibili le porte seriali sul computer, e come inviare i file. Copre persino le assegnazioni dei pin sulla porta stessa.

Esempio di codice:

using System; 
using System.IO.Ports; 
using System.Windows.Forms; 

namespace SerialPortExample 
{ 
    class SerialPortProgram 
    { 
    // Create the serial port with basic settings 
    private SerialPort port = new SerialPort("COM1", 
     9600, Parity.None, 8, StopBits.One); 

    [STAThread] 
    static void Main(string[] args) 
    { 
     // Instatiate this class 
     new SerialPortProgram(); 
    } 

    private SerialPortProgram() 
    { 
     Console.WriteLine("Incoming Data:"); 

     // Attach a method to be called when there 
     // is data waiting in the port's buffer 
     port.DataReceived += new 
     SerialDataReceivedEventHandler(port_DataReceived); 

     // Begin communications 
     port.Open(); 

     // Enter an application loop to keep this thread alive 
     Application.Run(); 
    } 

    private void port_DataReceived(object sender, 
     SerialDataReceivedEventArgs e) 
    { 
     // Show all the incoming data in the port's buffer 
     Console.WriteLine(port.ReadExisting()); 
    } 
    } 
}