初涉USB,初学者USB入门总结(5)USB上位机读写开发

2024-03-15 08:18

本文主要是介绍初涉USB,初学者USB入门总结(5)USB上位机读写开发,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

上一部分说了固件和驱动的编程,这里再谈一下上位机的程序,因为我开发的范围也就是传传数据,所以太深入的没有去做,不过一般的工程调试应该足够了。

    固件的程序和驱动编写好了后,把设备插入就可以正确识别到,接下来的工作就是如何用上位机读写设备了。其实读写操作跟读写串口一致的,就是用file进行操作。关键是打开设备,下面是我用到的程序,这里都贴出来吧,我都是用这个的,供大家参考,呵呵,如果刚开始弄的话,估计得弄上个一个星期才行,用这个程序修改一下,两分钟搞定。

    其中GUID ClassGuid 是你在驱动中生成的一个号,它必须跟你的驱动对应起来,这个号的位置在驱动程序的XXXDeviceInterface.h中的#define XXXDevice_CLASS_GUID \....XXX表示你起的工程名字)。把这个号替换之后用FpOpenDevice打开设备,得到一个读句柄,一个写句柄,然后在自己的程序中用readfilewritefile读写设备就可以了,注意,不管是读还是写,都是主机发出的,设备不能主动发发数据。比如上位机中运行readfile,就会发送一个IN指令,设备接到IN指令后,会把缓冲区的内容发出。

 对于初学总结就先介绍到这里,谢谢大家的支持

希望大家多多分享自己开发的经验,在开发学习中遇到的问题和困惑可能其他人都会有碰到,与其自己把这些心得憋在肚子里让大家都走一遍弯路不如把自己的经验与别人分享,这样不但自己有个总结再个使别人收益,何乐而不为,独乐乐不如众乐乐,于是而也。

其实开发也是一件具有艺术与哲学的事情,说其艺术,是其任凭你想象,散发的无边无际。说其有哲理,是万事皆有因,顺其自然(自然即客观规律),必能找其根本,体味其中奥妙,其乐无穷~

这篇关于初涉USB,初学者USB入门总结(5)USB上位机读写开发的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811334

相关文章

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚

Qt实现网络数据解析的方法总结

《Qt实现网络数据解析的方法总结》在Qt中解析网络数据通常涉及接收原始字节流,并将其转换为有意义的应用层数据,这篇文章为大家介绍了详细步骤和示例,感兴趣的小伙伴可以了解下... 目录1. 网络数据接收2. 缓冲区管理(处理粘包/拆包)3. 常见数据格式解析3.1 jsON解析3.2 XML解析3.3 自定义

Go语言开发实现查询IP信息的MCP服务器

《Go语言开发实现查询IP信息的MCP服务器》随着MCP的快速普及和广泛应用,MCP服务器也层出不穷,本文将详细介绍如何在Go语言中使用go-mcp库来开发一个查询IP信息的MCP... 目录前言mcp-ip-geo 服务器目录结构说明查询 IP 信息功能实现工具实现工具管理查询单个 IP 信息工具的实现服

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Python实现图片分割的多种方法总结

《Python实现图片分割的多种方法总结》图片分割是图像处理中的一个重要任务,它的目标是将图像划分为多个区域或者对象,本文为大家整理了一些常用的分割方法,大家可以根据需求自行选择... 目录1. 基于传统图像处理的分割方法(1) 使用固定阈值分割图片(2) 自适应阈值分割(3) 使用图像边缘检测分割(4)

Windows Docker端口占用错误及解决方案总结

《WindowsDocker端口占用错误及解决方案总结》在Windows环境下使用Docker容器时,端口占用错误是开发和运维中常见且棘手的问题,本文将深入剖析该问题的成因,介绍如何通过查看端口分配... 目录引言Windows docker 端口占用错误及解决方案汇总端口冲突形成原因解析诊断当前端口情况解

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S