SerialDevice Kelas
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili port serial. Objek menyediakan metode dan properti yang dapat digunakan aplikasi untuk menemukan dan berinteraksi dengan port serial pada sistem.
public ref class SerialDevice sealed : IClosable
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class SerialDevice final : IClosable
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class SerialDevice : System.IDisposable
Public NotInheritable Class SerialDevice
Implements IDisposable
- Warisan
- Atribut
- Penerapan
Rangkaian perangkat |
Windows 10 (diperkenalkan dalam 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v1.0)
|
using System;
using Windows.Devices.Enumeration;
using Windows.Devices.SerialCommunication;
using Windows.Storage.Streams;
...
DeviceInformationCollection serialDeviceInfos = await DeviceInformation.FindAllAsync(SerialDevice.GetDeviceSelector());
foreach (DeviceInformation serialDeviceInfo in serialDeviceInfos)
{
try
{
SerialDevice serialDevice = await SerialDevice.FromIdAsync(serialDeviceInfo.Id);
if (serialDevice != null)
{
// Found a valid serial device.
// Reading a byte from the serial device.
DataReader dr = new DataReader(serialDevice.InputStream);
int readByte = dr.ReadByte();
// Writing a byte to the serial device.
DataWriter dw = new DataWriter(serialDevice.OutputStream);
dw.WriteByte(0x42);
}
}
catch (Exception)
{
// Couldn't instantiate the device
}
}
Kemampuan perangkat serial, serialCommunication
, diperlukan untuk menggunakan SerialDevice
kelas . Untuk informasi selengkapnya, lihat Windows.Devices.SerialCommunication.
Membuat objek SerialDevice
- Buat string Advanced Query Syntax (AQS) yang berisi kriteria pencarian untuk menemukan perangkat dalam kumpulan perangkat yang dijumlahkan. Jika Anda memiliki vendor dan pengidentifikasi produk, hubungi GetDeviceSelectorFromUsbVidPid.
- Teruskan string yang diambil ke FindAllAsync. Panggilan mengambil objek DeviceInformationCollection .
- Perulangan melalui koleksi. Setiap perulangan mendapatkan objek DeviceInformation .
- Dapatkan nilai properti DeviceInformation.Id . Nilai string adalah jalur antarmuka perangkat. (misalnya
\\?\usb#vid_03eb&pid_2157&mi_01#7&1435ec7f&0&0001#{86e0d1e0-8089-11d0-9ce4-08003e301f73}
). - Panggil FromIdAsync dengan melewati string antarmuka perangkat dan dapatkan
SerialDevice
objek . Jika ini melempar pengecualian atau mengembalikan null, kemungkinan:- Jalur antarmuka perangkat tidak valid
- Jalur antarmuka perangkat tidak merepresentasi perangkat serial
- Aplikasi kehilangan
serialCommunication
kemampuan - Perangkat serial tidak dapat diakses. (lihat Windows.Devices.SerialCommunication)
Membaca dan menulis data
Anda kemudian dapat menggunakan objek SerialDevice untuk membaca dari atau menulis ke port serial dengan menggunakan namespace Windows.Storage.Streams .
- Dapatkan referensi ke aliran input dengan mendapatkan properti SerialDevice.InputStream .
- Buat objek DataReader dengan menentukan aliran input di konstruktor DataReader .
- Dapatkan referensi ke aliran output dengan mendapatkan properti SerialDevice.OutputStream .
- Buat objek DataWriter dengan menentukan aliran output di konstruktor DataWriter .
Baud |
Mendapatkan atau mengatur laju baud. |
Break |
Mendapatkan atau mengatur status sinyal pemutus. |
Bytes |
Mewakili jumlah byte yang diterima oleh operasi baca terakhir dari aliran input. |
Carrier |
Mendapatkan status baris Carrier Detect (CD). |
Clear |
Mendapatkan status baris Clear-to-Send (CTS). |
Data |
Jumlah bit data di setiap nilai karakter yang ditransmisikan atau diterima, dan tidak menyertakan bit paritas atau bit berhenti. |
Data |
Mendapatkan status sinyal Siap Himpunan Data (DSR). |
Handshake |
Mendapatkan atau mengatur protokol jabat tangan untuk kontrol aliran. |
Input |
Aliran input yang berisi data yang diterima pada port serial. |
Is |
Mendapatkan atau menetapkan nilai yang memungkinkan sinyal Siap Terminal Data (DTR). |
Is |
Mendapatkan atau menetapkan nilai yang memungkinkan sinyal Request to Send (RTS). |
Output |
Mendapatkan aliran output tempat aplikasi dapat menulis data untuk dikirimkan melalui port serial. |
Parity |
Mendapatkan atau mengatur bit paritas untuk pemeriksaan kesalahan. |
Port |
Mendapatkan nama port untuk komunikasi serial. |
Read |
Mendapatkan atau mengatur nilai waktu habis untuk operasi baca. |
Stop |
Mendapatkan atau mengatur jumlah standar bit berhenti per byte. |
Usb |
Mendapatkan bidang idProduct dari deskriptor perangkat USB. Nilai ini menunjukkan pengidentifikasi produk khusus perangkat dan ditetapkan oleh produsen. |
Usb |
Mendapatkan bidang idVendor dari deskriptor perangkat USB. Nilai menunjukkan pengidentifikasi vendor untuk perangkat seperti yang ditetapkan oleh komite spesifikasi USB. |
Write |
Mendapatkan atau mengatur nilai waktu habis untuk operasi tulis. |
Close() |
Merilis referensi ke objek SerialDevice yang sebelumnya diperoleh dengan memanggil FromIdAsync. |
Dispose() |
Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola. |
From |
Memulai operasi asinkron yang membuat objek SerialDevice . |
Get |
Mendapatkan string Advanced Query Syntax (AQS) yang dapat diteruskan aplikasi ke DeviceInformation.FindAllAsync untuk menemukan semua perangkat serial pada sistem. |
Get |
Mendapatkan string Advanced Query Syntax (AQS) yang dapat diteruskan aplikasi ke DeviceInformation.FindAllAsync untuk menemukan perangkat serial dengan menentukan nama portnya. |
Get |
Mendapatkan string Advanced Query Syntax (AQS) yang dapat diteruskan aplikasi ke DeviceInformation.FindAllAsync untuk menemukan perangkat Serial-ke-USB tertentu dengan menentukan VID dan PID-nya. |
Error |
Penanganan aktivitas yang dipanggil ketika kesalahan terjadi pada port serial. |
Pin |
Penanganan aktivitas yang dipanggil saat status sinyal atau garis berubah pada port serial. |