Reklama

C# – Tipy, rady, návody – 10: Jak zjistit seznam dostupných sériových portů

Úvod

Pokud jste někdy vytvářeli, nebo budete vytvářet aplikaci, která komunikuje s nějakým zařízením pomocí sériové linky, je vhodné uživateli zobrazit pouze dostupné sériové porty a ne celý seznam možných sériových portů. Pro otevření požadovaného sériové portu je zapotřebí text ve tvaru „COMx“, kde se za x dosadí číslo sériového portu, tzn. např. „COM2“.
K získání výpisu všech dostupných sériových portů využijeme metodu GetPortNames třídy SerialPort. Tato třída je umístěná ve jmenném prostoru System.IO.Ports.

Vzorová aplikace

Získání seznamu dostupných sériových portů je demonstrován na jednoduchém příkladu. K zobrazení seznamu je využita komponenta „ListBox“, dále je použito tlačítko „Button“ a jeden popisek „Label“. Jednotlivé akce jsou pro jednoduchost napsané přímo v událostech jednotlivých komponent. Stisknutím tlačítka „Show“ se provede událost „Click“ (ShowSerialPorts) a v listboxu se vypíší všechny dostupné sériové porty. Při kliknutí na položku v listboxu je provedena opět událost „Click“ (ShowSelected) a daný port se zobrazí v popisku pod seznamem. Vytvořenou vzorovou aplikaci lze vidět na Obr. 1.
nazev

Obr. 1: Vzorová aplikace
Okomentovaný zdrojový kód
 

001: using System;
002: using System.Collections.Generic;
003: using System.ComponentModel;
004: using System.Data;
005: using System.Drawing;
006: using System.Linq;
007: using System.Text;
008: using System.Threading.Tasks;
009: using System.Windows.Forms;
010:
011: namespace Serial_Port
012: {
013: public partial class Form1 : Form
014: {
015:
016: public Form1()
017: {
018: InitializeComponent();
019: }
020:
021: private void ShowSerialPorts(object sender, EventArgs e)
022: {
023: // smazat položky v listboxu
024: listBoxSerialPort.Items.Clear();
025:
026: // projít všechny dostupné sériové porty
027: foreach (string currentPort in System.IO.Ports.SerialPort.GetPortNames())
028: {
029: // přidání jednotlivých sériových portů do listboxu
030: listBoxSerialPort.Items.Add(currentPort);
031: }
032: }
033:
034: private void ShowSelected(object sender, EventArgs e)
035: {
036: // zobrazit vybraný sériový port
037: labelSelected.Text = "Selected – " + listBoxSerialPort.SelectedItem.ToString();
038: }
039: }
040: }

 
 

Následující a předchozí příspěvek v kategorii:

 
Předchozí: C# – Tipy, rady, návody – 9: Zobrazení „bublinkové“ nápovědy
 
Následující: C# – Tipy, rady, návody – 11: Jak pracovat se schránkou
 
Tajned facebook
 

Za případné chyby v textu, ve zdrojovém kódě, nebo ve schématickém zapojení se omlouváme.
AUTOŘI NEBEROU ŽÁDNOU ODPOVĚDNOST ZA PŘÍPADNÉ ÚJMY NA ZDRAVÍ ČI MAJETKU.