c# – 使用Universal Class库中的Windows UWP Windows.Devices.SerialCommunication.SerialDevice
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 使用Universal Class库中的Windows UWP Windows.Devices.SerialCommunication.SerialDevice,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1818字,纯文字阅读大概需要3分钟。
内容图文
![c# – 使用Universal Class库中的Windows UWP Windows.Devices.SerialCommunication.SerialDevice](/upload/InfoBanner/zyjiaocheng/969/52b4139e595b4ea781a24d452fad542e.jpg)
我正在制作一个Modbus库(再次……).这次它意味着在Windows 10 IoT Core上运行.
我遇到了一个有趣的问题.
这段代码:
string aqs = SerialDevice.GetDeviceSelector();
var dis = await DeviceInformation.FindAllAsync(aqs);
var port = await SerialDevice.FromIdAsync(dis[0].Id);
if (port != null) {
port.BaudRate = 9600;
port.DataBits = 8;
port.StopBits = SerialStopBitCount.One;
port.Parity = SerialParity.None;
port.Handshake = SerialHandshake.None;
port.ReadTimeout = TimeSpan.FromMilliseconds(1000);
port.WriteTimeout = TimeSpan.FromMilliseconds(1000);
}
>从通用应用程序中使用完美.当然,如果您将以下代码添加到Package.appxmanifest:
<Capabilities>
<DeviceCapability Name="serialcommunication">
<Device Id="any">
<Function Type="name:serialPort" />
</Device>
</DeviceCapability>
</Capabilities>
>从通用类库中使用(文件 – >新项目 – > … – > Windows – >通用 – > VS2015中的类库(通用Windows))从mscorlib.dll创建空引用异常,就像从Universal app的Package.appxmanifest中删除DeviceCapability一样.
我怀疑这种行为与类库没有清单文件有关,因此没有适当的权限.
我可以在类库中使用Windows.Devices.SerialCommunication吗?
是微软让我告诉用户’嘿!我为你制作了一个无用的库,你必须在你的任何应用程序中单独实现传输层. ?
解决方法:
我在Windows 10 10586上使用Visual Studio 2015 Update 1创建了一个通用应用程序项目和一个通用类库.我设置了应用程序清单,将SerialDevice代码放在librairie中并从应用程序中调用它.
有用.
如果您的代码被调用两次,请小心,您可能会得到一个空引用异常,因为port2将为null.
var aqs = SerialDevice.GetDeviceSelector();
var dis = await DeviceInformation.FindAllAsync(aqs);
var port = await SerialDevice.FromIdAsync(dis[0].Id);
Debug.WriteLIne(port?.PortName);
var aqs2 = SerialDevice.GetDeviceSelector();
var dis2 = await DeviceInformation.FindAllAsync(aqs);
var port2 = await SerialDevice.FromIdAsync(dis[0].Id);
//port2 will be null
Debug.WriteLine(port2?.PortName);
内容总结
以上是互联网集市为您收集整理的c# – 使用Universal Class库中的Windows UWP Windows.Devices.SerialCommunication.SerialDevice全部内容,希望文章能够帮你解决c# – 使用Universal Class库中的Windows UWP Windows.Devices.SerialCommunication.SerialDevice所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。