調用 SerialDevice.FromIdAsync 可能傳回空,因為沒有設定 package.appmanifest 可以使用端口
打開 package.appmanifest 檔案添加下面代碼
<Capabilities>
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>
</Capabilities>
複制
嘗試使用特定的端口通路
string aqs = SerialDevice.GetDeviceSelector("COM3");
DeviceInformationCollection dlist = await DeviceInformation.FindAllAsync(aqs);
if (dlist.Any())
{
deviceId = dlist.First().Id;
}
using (SerialDevice serialPort = await SerialDevice.FromIdAsync(deviceId))
{
}
複制
https://stackoverflow.com/q/37505107/6116637
本文會經常更新,請閱讀原文: https://lindexi.gitee.io/post/win10-uwp-%E8%A7%A3%E5%86%B3-SerialDevice.FromIdAsync-%E8%BF%94%E5%9B%9E%E7%A9%BA.html ,以避免陳舊錯誤知識的誤導,同時有更好的閱讀體驗。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICMyYTMvw1dvwlMvwlM3VWaWV2Zh1Wa-cmbw5ieodnMolmaxIXdvwFOzETO1cjMtUGall3LcVmdhNXLwRHdo9CXt92YucWbpRWdvx2Yx5yazF2Lc9CX6MHc0RHaiojIsJye.png)
本作品采用 知識共享署名-非商業性使用-相同方式共享 4.0 國際許可協定 進行許可。歡迎轉載、使用、重新釋出,但務必保留文章署名林德熙(包含連結: https://lindexi.gitee.io ),不得用于商業目的,基于本文修改後的作品務必以相同的許可釋出。如有任何疑問,請 與我聯系 。