virtual usb multikey安装设备时出现错误_【图解USB】USB 之CDC 程序结构(完结篇)...

2023-11-12

来源:公众号【鱼鹰谈单片机】

作者:鱼鹰Osprey

ID   :emOsprey

本篇介绍整个例程的结构和程序流程。Github 里面有一个仓库CMSIS-DAP(https://github.com/x893/CMSIS-DAP ,该工程可以导入到gitee中,加快下载速度,底部点击阅读原文即可进入该链接),x893大神移植的,网上大部分 CMSIS-DAP 的程序应该都是基于这个工程,鱼鹰提供的工程也是基于该工程,只不过为了简化工程,降低学习难度,鱼鹰把CDC 之外的移除了。但是使用该工程有一个麻烦就是不能用KEIL直接编译通过,必须安装兼容包,这个鱼鹰在之前的笔记介绍过。只有把兼容包安装好了才能正确编译,才能继续研究。鱼鹰闲这一步太麻烦了,所以重新整理了一个新工程,把兼容包里面的东西放到新工程里面,这样一来,即使没有安装过兼容包,也是能正确编译并进行后续测试的。所以大家获取到该工程后直接编译即可。(鱼鹰之前提供的工程因为已经安装了兼容包,所以编译没有发现什么问题,后来重新安装了KEIL发现,这个工程还是编译不了,需要在 CMSIS 工程下添加这两个文件,这两个文件可以在 KEIL 安装目录下找到,把它拷贝到这里就能正常编译了) ce8391d545b15431120a6b23512c9fa4.pngUSB 所有的事件响应(发送完成、接收完成、复位等)都是通过中断来处理的,所以主要介绍一下这些中断,着重介绍正确传输中断CTR。 f7fc4cf06c837ec3391a0f1d1cc314f0.png 复位中断Main 函数的初始化主要是针对STM32的 USB 外设来主动进行初始化的,但除了该初始化外,在USB 设备插入主机后,主机都会发送复位信号来复位 USB 外设,而我们的应用程序也可以通过开启该中断来来复位软件上的数据信息,比如指针复位,缓存清除、寄存器初始化等操作。这样可以在每次插入 USB 后自动完成必要的初始化工作。 84801952af1f17cf9ca56b46cad9a713.png主机一般会发送两次复位信号,所以这个中断会进入两次,不过对
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

virtual usb multikey安装设备时出现错误_【图解USB】USB 之CDC 程序结构(完结篇)... 的相关文章

  • 异步电机和永磁同步电机的区别

    导读 本期主要介绍一下异步电机和永磁同步电机的区别 后面文章也会开始介绍永磁同步电机相关的控制算法 需要本文中搭建的仿真模型 关注微信公众号 浅谈电机控制 获取 一 异步电机介绍 图1异步电机结构图 1 优点 结构简单 牢固 体积小 重量轻
  • GitHub标星150K的神仙笔记,3个月肝完成功面进美团定级3-2

    俗话说 不想进大厂的程序员不是好程序员 楼主14年小本毕业 离职也有一段时间了 因为一些原因 休整了一段时间 然后3月初开始准备面试 在上家公司工作之余心里一直有着进大厂的执念 上家公司是智能家居互联网行业的 使用的技术框架有dubbo z
  • QNX车载操作系统音频功能扩展Acoustics for Voice 3.0-qnx的音频降噪技术

    锋影 e mail 174176320 qq com QNX的降噪技术 那套有源噪声控制系统只要车内有扬声器和麦克风 就能将车内噪声降低20分贝 这次新发布的Acoustics for Voice 3 0与之功能类似 可以看做是它的升级版
  • Java文件的命名,Java主类,Java中的public类

    编译和运行 Java 程序 HelloWorld java 文件 HelloWorld java public class HelloWorld public static void main String args System out
  • 添加conda环境到Jupyter

    添加conda环境到Jupyter 安装完Anaconda利用conda创建了虚拟环境 但启动jupyter 之后却找不到虚拟环境 实际上是由于在虚拟环境下缺少kernel json文件 解决方法如下 以下操作在Anaconda环境中操作
  • 硬件安全技术——芯片安全设计技术3

    芯片安全设计技术3 一 硬件安全解决方案 1 为什么需要硬件安全 2 传统安全解决方案对比 3 SoC安全解决方案 二 Root of Trust 信任根 1 信任根 RoT 是建立信任链的来源 也是SoC中安全根基 2 安全启动 3 密钥
  • android 短信(SMS)结构解析

    sms主要结构 id 短信序号 如100 thread id 对话的序号 如100 与同一个手机号互发的短信 其序号是相同的 address 发件人地址 即手机号 如 8613811810000 person 发件人 如果发件人在通讯录中则
  • 使用R建立银行贷款违约模型

    一 项目背景及目的 使用R语言对银行的个人贷款是否违约进行预测 帮助业务部门及时发现问题 以避免损失 二 数据说明 本项目数据集来自 数据科学实战 Python篇 数据集包含8个表 账户表accounts 信用卡表card 客户信息表cli
  • 海伯利安Atlas主网映射今日正式启动

    今日21 00时 GMT 8 起 Atlas主网HYN及节点映射将正式开启 从27日15 00时 GMT 8 起 系统将统一进行升级 用户在15 00 21 00 GMT 8 时间段内将无法从交易账户进行提币操作 待主网映射正式开始 将恢复
  • 设计立方体类

    练习案例 设计立方体类 1 设计立方体类 cube 2 求出立方体的面积和体积 3 分别用全局函数和成员函数判断两个立方体是否相等 include
  • 为什么Java有了synchronized之后还造了Lock锁这个轮子?

    众所周知 synchronized和Lock锁是java并发变成中两大利器 但是为什么Java有了synchronized之后还是提供了Lock接口这个api 难道仅仅只是重复造了轮子这么简单么 本文就来探讨一下这个问题 谈到这个问题 其实
  • 手写算法-python代码实现DBSCAN

    手写算法 python代码实现DBSCAN 原理解析 代码实现 实例演示与sklearn对比 总结 原理解析 上篇文章我们优化了Kmeans聚类算法 最后留下一个问题 Kmeans只适合处理凸样本集 不适合处理非凸样本集 这个问题 怎么解决
  • 2023最系统的网络安全学习路线

    什么是网络安全 网络安全是指保护计算机网络及其系统和应用程序的安全性和完整性 防止未经授权的访问 攻击 病毒 恶意软件和其他安全威胁 它是通过技术 管理和教育等综合手段来确保网络信息安全 网络安全包括网络防火墙 入侵检测系统 数据加密 网络
  • 【大模型】开源大模型汇总以及微调策略

    目录 前言 LLaMA stanford Alpaca Guanaco Vicuna Chinese LLaMA Alpaca Chinese Vicuna Luotuo Chinese Falcon OpenBuddy Falcon Ch
  • 数据结构第一章内容(思维导图以及概要)

    思维导图和内容概要 一 数据结构的基本概念 ps 与数据元素本身的形式 内容 相对位置 个数无关的是数据的逻辑结构 通常要求同一逻辑结构中的所有数据元素具有相同的特性 这意味着不仅数据元素所包含的数据项的个数要相同 而且对应数据项的类型要一
  • (一)python爬虫验证码识别(去除干扰线)

    一 python爬虫验证码识别 去除干扰线 1 开发环境与工具 python27 sklearn pytesser opencv等 pycharm windows7 2 数据集 用request库爬虫抓取某一网站验证码1200张 并做好标注
  • 满满的干货!java计算公式引擎

    Spring 全家桶 Spring 原理 Spring面试题 思维导图 面试题 Spring视频 Spring 原理 Spring特点 Spring 核心组件 Spring常用模块 Spring主要包 Spring常用注解 Sping第三方
  • MYSQL数据库锁常用sql(解决锁表,锁库)

    MYSQL数据库锁常用sql 解决锁表 锁库 查询数据库锁 SELECT FROM INFORMATION SCHEMA INNODB LOCKS 查看等待锁的事务 SELECT FROM INFORMATION SCHEMA INNODB
  • 谷歌整体战略:关于人工智能、云服务和登月计划的未来

    转载自我的博客 谷歌整体战略 关于人工智能 云服务和登月计划的未来 CB Insights 今日发布了一篇关于谷歌业务战略的深度分析报告 Google Strategy Teardown Betting The Future On AI C

随机推荐

  • qt自定义标题栏和边框_在Windows 7中自定义标题栏和其他系统字体

    qt自定义标题栏和边框 Would you like to tweak your title bar and menu fonts in Windows 7 Here s how you can change those little se
  • 嵌入式软件国际化(多语言) 点阵字库选择分析

    概述 嵌入式软件国际化 多语言 点阵字库选择分析 多字节字符集与unicode 多字节编码最大的问题在于每一个语种的字符集编码不兼容 unicode的好处在于将所有人类语种字符都有了统一的编码 现在世界上语言基本都包含在了基本多文种平面0上
  • c语言输出字符串显示在屏幕上,C语言输出printf

    C语言输出printf教程 在 在我们使用 printf 函数时 格式占位符的格式个数一定要与后面的需要输出的变量或者字面量的个数匹配 否则程序报错 printf函数详解 语法 int printf const char format 参数
  • Vue中动画的实现 从基本动画,到炫酷动画。看这一篇就够了

    文章目录 Vue中的基本动画实现 动画类名的重定义 使用第三方的动画库 我就选择其中一个库做示范其他都一样 Vue中的基本动画实现 直接一点 基本动画的步骤 在需要加动画的地方 加入transition
  • EXCEL实现多行多列转为一行多列形式,OFFSET函数

    1 需要实现数据多行多列转为一行多列的数据 2 使用函数 OFFSET A 1 COLUMN A1 1 3 MOD COLUMN A1 1 3 可根据实际数据情况替换数字 引用单元格 3 实现效果 4 操作步骤 观察数据 输入公式 点击回车
  • C++中的STL中(容器、迭代器、适配器、配置器)

    首先明确STL中的六大组成部分 容器 迭代器 适配器 算法 仿函数 配置器 一 C 中的容器 顺序容器 关联容器 容器适配器 1 顺序容器 2 关联容器 3 容器适配器 二 STL中 容器 适配器的关系 参考博客如下 C 顺序性容器 关联性
  • QT固定文件名格式串转化为TreeView在界面上展示文件树形目录

    获得的文件串格式 file1 1 sss txt file1 bin zip file2 linpanhu docx qmake vc bat send zip 思路 gt gt gt file1 1 sss txt file1 bin z
  • golang The system cannot find the file specified

    使用io ioutil包读取文件时报错 open abi The system cannot find the file specified 原因是 ioutil ReadFile 这个方法需要传入决绝路径的文件名 代码 abiStr er
  • ESP32 之 ESP-IDF 教学(十一)WiFi篇—— WiFi两种模式

    本文章 来自原创专栏 ESP32教学专栏 基于ESP IDF 讲解如何使用 ESP IDF 构建 ESP32 程序 发布文章并会持续为已发布文章添加新内容 每篇文章都经过了精打细磨 通过下方对话框进入专栏目录页 CSDN 请求进入目录 O
  • 安全模型和业务安全体系

    网络安全和业务安全 网络安全中 攻击者往往通过技术手段 以非正常的技术 XSS Injection Penestrating等 影响业务正常运行 窃取敏感数据 比如 某黑客通过SSRF进入内网 并在内网横向扩张 最终脱库成功 业务安全中 黑
  • 如何理解和解决CXXABI not found问题?

    编译C 程序时 在链接阶段有时会出现CXXABI not found的问题 usr lib64 libstdc so 6 version CXXABI 1 3 8 not found 问题出现的场景 当前编译的程序需要依赖其它已编译的组件
  • vtk中的点云曲面重建

    对于光学扫描设备 如激光雷达 采集到的非规则点云数据 最重要的需求之一就是进行表面重建 Surface Reconstruction 对成片密集分布的点云以三角片拟合 形成连续 精确 良态的曲面表示 目前主流的算法可分为剖分类 组合类和拟合
  • win11管理我的账户提示“无法使用个人帐户在此登录,请改用工作或学校帐户”

    先把所有账户删除 注销Store 重新登陆账户 登录后选择自动登录到所有Microsoft应用就好了
  • 210. 课程表 II

    文章目录 Tag 题目来源 题目解读 解题思路 方法一 拓扑排序 写在最后 Tag 拓扑排序 题目来源 210 课程表 II 题目解读 在选修某些课程之前需要先学习某些课程 先学习的课程有数组 prerequisites 给出 其中 pre
  • NAT和全网互通

    首先在GWserver设备上安装一个 路由和远程访问 然后打开路由和远程访问右键新建nat
  • 怎么用计算机测量一个物体的高度,常用测量工具的使用方法?

    工具分类测量工具通常按用途分为通用测量工具 专类测量工具和专用测量工具3类 测量工具还可按工作原理分为机械 光学 气动 电动和光电等类型 这种分类方法是由测量工具的发展历史形成的 但一些现代测量工具已经发展成为同时采用精密机械 光 电等原理
  • Ubuntu安装SSH服务

    注 安装前需要先将 源 配置好 以下演示为root账号 1 更新软件源 apt get install y update 2 安装openssl apt get install y update apt get install y open
  • Set集合框架

    前言 给大家讲讲Set结合框架 码字不易 点个关注 转载请说明 思维导图 目录 1 List和Set的区别 1 两者的特点 2 两者之间的对比 3 取值 2 Set集合的特点 3 Set集合的循环方式 4 HashSet去重复以及原理 1
  • git修改分支名

    使用git命令操作 1 修改本地分支名称 git branch m oldBranchName newBranchName 2 将本地分支的远程分支删除 git push delete origin oldBranchName 3 将改名后
  • virtual usb multikey安装设备时出现错误_【图解USB】USB 之CDC 程序结构(完结篇)...

    来源 公众号 鱼鹰谈单片机 作者 鱼鹰Osprey ID emOsprey本篇介绍整个例程的结构和程序流程 Github 里面有一个仓库CMSIS DAP https github com x893 CMSIS DAP 该工程可以导入到gi