自己在UWP程序上调用usb转串口的路程
之前一直是在普通的framework环境下写串口,使用的类为 SerialPort 这个类大家可能比较熟悉。但是在UWP的开发里,使用的是 SerialDevice 这个类,是不一样的。
1. 清单文件配置
首先,你需要建立UWP项目(Universal Windows),之后配置 Package.appxmanifest 文件。我们就叫它清单文件吧,如果你直接双击打开是以界面的方式编辑的,我们想要编辑的是 Capabilities 节点,因为我们要启用设备访问权限。但是微软的配置此节点的相关文章也指出了,在这个操作界面里有一些节点并不会列出,需要手动修改清单文件。
为了手动修改清单文件的xml节点,我们右击这个清单文件,选择“Open With...”,也就是所谓的打开方式,之后选择使用“XML Editor”打开,便可以以XML代码的方式编辑了。
<Capabilities><Capability Name="internetClient" /><DeviceCapability Name="serialcommunication"><!--<Device Id="any">--><Device Id="vidpid:1A86 7523"><Function Type="name:serialPort"/></Device></DeviceCapability></Capabilities>
清单文件XML根节点为Package,当然如果你之前启用了其他权限,比如我这里有一个internetClient权限启用过。
配置串口访问功能,除了Device行,其他的都是固定写法。本行可以指定想访问的设备,设备的vid和pid标识可以在设备管理器中定位到设备并查看属性得到,一般会根据驱动提供商的公司和产品系列不同而不同。至于不指定标识直接写any我并没有试过,但是在网站上翻阅资料时,见到好几个地方是这么写的,如果你不确定设备到底有没有固定型号,或者插了多个不同型号的设备之后手动选择,这里指定any应该就能达到不筛选的效果。
2. 访问串口并收发数据
public async Task StartAsync(){string filter = SerialDevice.GetDeviceSelector();var devices = await DeviceInformation.FindAllAsync(filter);foreach (var jd in devices){try{Debug.WriteLine("即将尝试握手串口:" + jd.Name);var client = await SerialDevice.FromIdAsync(jd.Id);client.BaudRate = 115200;// sendvar sendDatas = new byte[] { 0x83, 0xC1, 0x00, 0x00, 0x42 };var wBuffer = CryptographicBuffer.CreateFromByteArray(sendDatas);var sw = await client.OutputStream.WriteAsync(wBuffer);// readvar rBuffer = await client.InputStream.ReadAsync(new Windows.Storage.Streams.Buffer(11), 11, InputStreamOptions.None);string rString = CryptographicBuffer.EncodeToHexString(rBuffer);Debug.WriteLine("received:" + rString);}catch (Exception ex){Debug.Fail(ex.Message, ex.ToString());}}}
上面的连接串口收发功能,是最简单的。
转载于:https://www.cnblogs.com/3Tai/p/10059758.html
自己在UWP程序上调用usb转串口的路程相关推荐
- android usb单反相机,在Android应用程序上使用USB Camera
只有当USB相机中的传感器符合UVC标准(今天的大多数相机都符合)时,讨论才成立. 默认情况下,没有Android API可用于外部摄像头.所以如果你对这个项目很认真,那么你所做的工作就是编写一个与内 ...
- USB转串口驱动分析(一)
之前追踪代码用的grep命令效率太低了,所以这次下载C代码阅读跳转利器ctags.cscope用于分析代码 因为用的是Centos6.7所以需要用到yum install安装软件 [wuyujun@w ...
- 【问题解决】ESP32开发板上的CP210xUSB转串口坏了怎么办
微信关注公众号 "DLGG创客DIY" 设为"星标",重磅干货,第一时间送达. 今天居然遇到了主板上的USB转串口芯片坏了的情况!这运气真是.. 还好问题解决了 ...
- USB转串口数据线Vista驱动
现在的大多数笔记本都已经不再自带串口,并且预装的是微软最新的Vista操作系统. 但是在日常的开发工作中有可能会碰到在没有串口的笔记本上通过USB转串口数据线进行串口编程.通过Vista系统自带的解决 ...
- linux内核 usb转串口,求助:usb转serial串口设备在linux内核中创建及生成tty设备的改写...
当把一个usb转serial串口设备插到linux系统上时,系统自动识别设备后会把设备和/dev目录下设备节点相关联,但是默认的关联是从ttyUSB0开始,依次ttyUSB1,ttyUSB2..... ...
- 乐鑫Esp32学习之旅 19 重磅开源,如何在微信小程序上ble蓝牙配网esp32,blufi的那些事!
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1. 爬坑学习新旅程,虚拟机搭建esp32开发环境,打印 " ...
- MATLAB调用USB摄像机采集图像代码段
利用在MATLAB上调用USB摄像机,用于实时输出图像 话不多说上代码 %%%Command Window窗口下(注释) >> info=imaqhwinfo info = Install ...
- 常用USB转串口工具, win10上使用的解决方案
原文:https://blog.csdn.net/weixin_39502839/article/details/81268856 串口在嵌入式通信解决方案中使用广泛,那么当我们需要使用PC机对通信数 ...
- 串口,USB,USB转串口,串口驱动,仿真器下载程序
串口,USB,USB转串口,串口驱动,仿真器下载程序 在初学stm32,接触到的第一步便是下载程序, 方法一:利用仿真器下载程序 方法二:利用串口下载程序 本文简单介绍两种下载方法,浅入窥探下载原理, ...
最新文章
- Java_JDBC_MySql
- mysql scrapy 重复数据_mysql数据库如何处理重复数据?
- 【asp.net Core MVC + angular6实战】 - 1. 环境搭建
- Socket一次Recv接受的字节有限制么?
- MFC之添加PNG,JPG图片
- python如何用requests传送json格式数据
- 前端工程师薪资差距可达7.3倍!4月程序员薪资统计出炉,速看!
- 桌面上计算机快捷方式打不开,桌面快捷方式打不开解决步骤
- SAT考试填空习题(一)及答案
- 引入ant组件分页时显示英文问题
- 基于OpenCV实现简单人脸面具、眼镜、胡须、鼻子特效(详细步骤 + 源码)
- 腾讯笔试编程题,贪吃的小Q(二分查找)
- 什么是服务熔断,什么是服务降级?
- 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡是报到3的人退出圈子,问最后留下来的是原来的第几位(指针方法处理)。——C语言
- OSChina 周三乱弹 —— 我就是太阳拳的传承者,光之魔法师
- SpringBoot 微信点餐开源系统,值得一看
- 淘宝API学习之道:淘宝TOP之API接口接入教程
- MM32F3273G8P火龙果开发板MindSDK开发教程12 -获取msa311加速器的敲击事件
- jquery日历插件 途牛_11个实用jQuery日历插件
- java编写测试类test,已获万赞
热门文章
- ping github超时问题
- 【Qt】Qt中信号与槽
- datatable 导入mysql 解决_将DataTable中的数据导入到数据库中
- 循环结构作业c语言,C语言循环结构练习题带答案(最新整理)
- java文件编译_【java】javac编译多个有依赖关系的java文件为class文件
- python计算相关矩阵_Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2...
- 计算机二级学习考试题,全国计算机等级考试一级Window复习题及答案
- C中的危险函数(缓冲区溢出)
- 单词拆分—leetcode139
- obfuscator-llvm Theos 集成配置