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

本文主要探讨了在安装virtual USB multikey设备时遇到的问题及解决方法,并详细解析了USB通信设备类(CDC)的程序结构,为单片机开发者提供指导。作者鱼鹰Osprey在文中提到了调试技巧,指出设置正确的断点对于串口中断至关重要。
摘要由CSDN通过智能技术生成

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

作者:鱼鹰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主机一般会发送两次复位信号,所以这个中断会进入两次,不过对
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值