USB的中断说明】的更多相关文章

STM32的USB模块可以产生三种中断:USB唤醒中断.USB高优先级中断和USB低优先级中断,在STM32的参考手册中没有详细说明这三种中断对应哪些事件,现说明如下: 1)USB唤醒中断:在中断向量表中的位置是42.这个中断在USB设备从暂停模式唤醒时产生,唤醒事件由USB_ISTR寄存器的WKUP位标识. 2)USB高优先级中断:在中断向量表中的位置是19.这个中断仅由USB同步(Isochronous)模式传输或双缓冲块(Bulk)传输模式下的正确传输事件产生,正确传输事件由USB_IST…
在一级bootloader执行进入USB启动方式之后,设备进行枚举.枚举过程中会通过PC端发送命令对连接的USB设备进行枚举.当枚举成功之后,在PC端可以看到设备的盘符. 当设备能够被PC正确识别之后.接下来就能够通过烧写工具完毕设备的扫描假设成功找到设备,则能够通过USB数据传输到SRAM中,这时候的数据主要包含2k infor文件.一级bootloader在成功的解析2kinfor 之后.PC端会将DFU文件传输到初始化好的DRAM中.而且PC指针跳转到DFU地址处运行,运行过程中会跳转到U…
一.USB协议基础知识   前序:USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB). USB 分为主从两大体系,一般而言, PC 中的 USB 系统就是作主,而一般的 USB 鼠标, U 盘则是典型的 USB 从系统. USB主控制器这一块,我们至少要开发出 USB 的主控制器与从控制器,鼠标是低速设备,所需的是最简单的一类从控制器.主控制器则复杂得多,因为太过于复杂了,所以就形成…
一.内容概述  采用STM32内部自带USB控制器外加大页NAND FLASH K9F1G08U0A实现一个128M的U盘. 1.STM32的USB控制器 STM32F103的MCU自带USB从控制器,符合USB规范的通信连接:PC主机和微控制器之间的数据传输是通过共享一专用的数据缓冲区来完成的,该数据缓冲区能被USB外设直接访问.这块专用数据缓冲区的大小,由所使用的端点数目和每个端点最大的数据分组大小所决定,每个端点最大可使用512字节缓冲区,最多可用于16个单向或8个双向端点.USB模块同P…
#ifndef __USBREG_H #define __USBREG_H /* usb设备中断定义 usb_devintst usb_devinten usb_devintclr usb_devintdet*/ #define FRAME_INT           0x00000001  //每隔1MS产生一次帧中断,该中断用在同步包的传输中 #define EP_FAST_INT         0x00000002  //端点的快速中断,在端点中断优先级中设置端点优先级别 #define…
源:STM32 USB 问题汇总 汇总1:STM32的USB例程修改步骤,来自http://blog.csdn.net/cy757/archive/2010/01/01/5117610.aspx 以下是笔者将ST的Custom_HID例程修改为“自定义USB设备”例程时总结出来的,因为笔者也是刚刚学USB开发不久,某些方面理解错误在所难免,请各位大虾指正. 一.usb_desc.c文件 根据你程序使用的通信方式修改.usb_desc.h文件中定义要根据usb_desc.c文件中的数组的大小:Co…
STM32F4系列处理器内部集成了USB-OTG控制器,在不要外部USB IC下就可以实现USB通信,最近两天看了下如何利用STM32的USB实现通信,记录下关键步骤: 1. 从http://www.stmcu.org/document/list/index/category-524下载所需要的USB_OTG主机和设备库: 2. 新建STM32工程,并把STM32_USB-Host-Device_Lib下的Libraries中的3个USB库放到工程文件中: 3.在Keil中建立USB相关文件夹,…
转载地址:http://blog.ednchina.com/zenhuateng/203584/Message.aspx USB总线接口层:物理连接.电气信号环境.信息包传输机制:主机一方由USB主控制器和根集线器组成,而USB方则由设备中的USB接口组成. USB设备层:由主机方的USB系统软件和设备方的USB设备逻辑视图组成. USB功能层:代表客户软件和一个给定的设备功能接口之间的关系. USB系统软件执行很多关键的功能,包括: 设备的连接/断开检测:设备配置:带宽分配:管理客户程序和设备…
1. 首先搞清楚,鼠标点左键.右键等能得到什么数据,然后分析这些数据上报事件即可. 第一个基本点:usb_alloc_urb函数,创建一个struct urb结构体,只能使用这个函数来创建,它是urb在usb世界里的独家代理. 第二个基本点:usb_fill_control_urb函数,初始化一个控制urb,urb被创建之后,使用之前必须要正确的初始化.里面包含有usb的中断服务函数. 第三个基本点:usb_start_wait_urb函数,将urb提交给咱们的usb core,以便分配给特定的…
转自:http://blog.csdn.net/jeffade/article/details/7698404 几个重要的结构 struct--接口 struct usb_interface { /* array of alternate settings for this interface, * stored in no particular order */ struct usb_host_interface *altsetting; struct usb_host_interface *…
何为按键中断? 在了解按键中断之前,我们先来了解一下什么是中断?中断就是程序执行当前代码,当前任务的时候: 突然有自身函数或外部的影响,而使程序执行到别的任务再回来. 举个栗子: 当你在做饭的时候,电话突然响了,这时候你只能停下当前做饭的动作,去执行听电话的动作 (同理,当你的程序要打印一句很长很长的话,突然有个中断出来,你要去执行那个中断,那个中断 可能是算一个数,也可能是让你程序复位程序执行) 中断优先级别 而说起中断,我们的中断也有个先后顺序中断,是先中断去算数还是先去中断复位呢?这就需要…
USB 基本知识 USB的重要关键字: 1.端点:位于USB设备或主机上的一个数据缓冲区,用来存放和发送USB的各种数据,每一个端点都有惟一的确定地址,有不同的传输特性(如输入端点.输出端点.配置端点.批量传输端点) 2.帧分为好几份,每一份中是一个USB的传输动作. 3.上行.下行:设备到主机为上行,主机到设备为下行 下面以一问一答的形式开始学习吧. 问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3…
一.背景 USB在持续通信几十万次后,会出现USB IN中断丢失几次的情况,分析是中断优先级不够高,导 致USB中断在排队,然而排队还未完成,又有新的USB中断发生,致使其中断丢失.LPC1769的所有中 断默认为最高优先级"(数字越低,优先级越高),因此能想到的第一个解决办法既是降低除USB外所 有中断的优先级. 本篇即对LPC1769的中断优先级及优先级分组做个概述. 附:LPC1768/LPC1769除支持最高主频不同外,其他暂时没发现有什么差别. 二.正文 首先,说说中断优先级,所有中断…
USB是一种支持热插拔的高速串行传输总线,它使用差分信号来传输数据,最高速度可达480Mb/S. USB支持“总线供电”和“自供电”两种供电模式.在总线供电模式下,设备最多可以获得500mA的电流.USB2.0 被设计称为向下兼容的模式,当有全速(USB 1.1)或者低速(USB 1.0)设备连接到高速(USB 2.0)主机时,主机可以退化工作在全速或者低速的模式.一条USB总线上,可达到的最高传输速度等级由该总线上最慢的“设备”决定,该设备包括主机.HUB以及USB功能设备. USB体系包括“…
前面移植了LWIP,并且简单的实用了DHCP的功能,今天来使用一下实际的数据通讯的功能 首先是实现TCP客户端,我先上代码 #ifndef __TCP_CLIENT_H_ #define __TCP_CLIENT_H_ #include "network.h" //连接状态 enum tcp_client_states { ES_NONE = , ES_RECEIVED, //接收到了数据 ES_CLOSING //连接关闭 }; //TCP服务器状态 struct tcp_clien…
大家好,好久不见了,距离上次发文章都有两个多星期了,非常高兴同时也非常感谢你们能一直关注我.之前在公众号上收到网友的消息,其大概意思就是问我能不能出点USB干货,为此我就把第二篇--解密USB2.0数据传输机理推迟,先行为大家奉上沉甸甸的干货,希望大家在看完后能多多提建议. 本期文章的主题是CY7C68013A固件程序开发,首先我会简要介绍一下CY7C68013A这款芯片以及官方提供的开发包,然后拿出开发包中的一个例程为大家详细剖析固件程序的整个框架,这些内容主要是为之后的功能实现打基础. CY…
目录: 第1部分:参照“正点原子USB虚拟串口工程移植步骤”移植ST的USB HID工程(失败了): 第2部分:在1的基础上,替换USB HID初始化代码为ST 例程中的代码,编译后根据报错调试(失败了): 第3部分:直接移植ST的USB HID工程,根据报错调试代码(成功了).       小孙想要总结这一年来学到的关于stm32的USB相关知识,但又不知道怎么总结,于是决定 从头开始调试固件库代码,直到实现USB功能为止!     首先准备参照正点原子<第88讲 USB虚拟串口实验-M3>…
http://baike.baidu.com/view/33701.htm 即插即用 编辑   PNP是Plug-and-Play(即插即用)的缩写.它的作用是自动配置(低层)计算机中的板卡和其他设备,然后告诉对应的设备都做了什么.PnP的任务是把物理设备和软件(设备驱动程序)相配合,并操作设备,在每个设备和它的驱动程序之间建立通信信道.换种说法,PnP分配下列资源给设备和硬件:I/O地址.IRQ.DMA通道和内存段.   1解析编辑 PnP是即插即用的意思. 在PnP技术出现之前,中断和I/O…
S3C2440A特殊寄存器 特殊寄存器有: 输入输出端口 存储器控制器 NANDFLASH 看门狗定时器 时钟和电源管理 PWM定时器 UART USB设备 中断控制器 DMA LCD控制器 RTC SPI IIC IIS AD转换器 AC97音频接口 USB主机控制器 SD接口 摄像头接口 输入输出端口 寄存器名称 访问单位 读/写 功能 GPACON W R/W 端口A控制 GPADAT 端口A数据 GPBCON 端口B控制 GPBDAT 端口B数据 GPBUP 上拉控制B GPCCON 端…
关于小米手机USB传输稍大点的文件老中断的问题解决方法! 这是一个很痛苦的事情,当你传输大文件的时候,传输到一半就会莫名其妙的中断,拔插数据线很多次以后,好不容易没准可以成功传输一次. 后来使用了360的手机助手,从调试模式传输文件,虽然不会中断,但是慢的要死. 最后我看到手机插上后手机提示 有3种模式:仅限充电 传输文件(MTP) 传输照片(PTP).当然我们选择传输文件是没戏了,会中断. 但我们选择传输照片到是不会中断,但是我们一般传输的都不是照片,那怎么办? 改你要传输文件的后缀名.比如你…
1.开发环境 windows 7  32位 MDK 4.54 .Net Micro Framework Porting Kit 4.2(RTM QFE2) .Net Micro Framework  SDK 4.2(RTM QFE2) Microsoft Visual Studio 2010 开发板 野火IOS V2 2.移植前的准备 2.1.运行C:\PK\Solutions\STM32Stamp\Debug_Flash.bat将MF编译成DEBUG模式,由于DEBUG模式下编译的文件包含了调…
1.ARM-Linux下USB驱动程序开发1.1.1.linux下USB配置:*********(MassStorage:存储设备)************************************ -> Device Drivers -> SCSI device support(通用设备) -> SCSI disk support (磁盘支持) -> SCSI device support(设备支持) -> Device Drivers -> USB suppo…
USB在接入系统的时候,以0的设备ID和主机通信,然后由主机为其分配新的ID. 在主机端,D+和D-都是下拉接地的.而设备端的D-接上拉时,表明此设备为高速设备:12M/s. D+接上拉时则是全速设备:480M/S. PC的USB口中的D+D-有15K的下拉电阻,未接USB设备时,皆为低电平. 而设备中的D+D-则是1.5K的上拉电阻.一旦接入PC中,电脑就会知道有设备接入. USB是主从结构.所有的传输都是由主机发起的,即USB设备没有主动通知USB主机的能力. USB的传输类型: 控制传输.…
catalogue . 引言 . Device Class Definition for Human Interface Devices (HID) . USB HID Report Descriptors . arduino USB Keyboard definition . USB Host Shield for Arduino分类 . USB Host Shield for Arduino datasheet . USB Host Library Rev.2.0 . USB Keyboar…
互联网的广大网友,大家早上中午晚上好.EXTI...故名思义..EX表外,出..I表示Intrrupt..所以合起来就是外部中断...说到这..我觉得我最近的六级水平(背单词)又进了一步,稍微自夸了下下..英语重要呀..所以各位要多读英语呀... 之前的51单片机也有外部中断0和外部中断1.咦?强大的STM32怎么能输给51呢是吧..根据“葵花宝典”第STM32篇参考手册中明文规定:112通用I/O端口以下图的方式连接到16个外部中断/事件线上: 有看出点什么猫腻来没??看出来的有赏喔..世上最…
前端时间捣鼓一个HID的硬件, 需要和android通信, 网上搜索了一圈,收获不小. 比较好的文章是:      Android USB Host与HID通讯 Android Service创建USB HOST通信 其中代码之处有些地方需要注意的, 特此注明一下: /** * USB HOST 连接 HID * @author IVAN * */ public class MainActivity extends Activity { private static final String T…
本文转载自:http://www.360doc.com/content/12/0504/19/8363527_208666082.shtml 编写USB驱动程序步骤:1所有usb驱动都必须创建主要结构体struct usb_driverstruct usb_driver->struct module *owner   (有他可正确对该驱动程序引用计数,应为THIS_MODULE)->const char *name   (驱动名字,运行时可在查看 /sys/bus/usb/drivers/)-…
下面的两个宏是PM8058的MMP11(R15),MMP12(P15)管脚.#define EXT_CHG_VALID_MPP 10#define EXT_CHG_VALID_MPP_2 11 static struct pm8xxx_mpp_init_info isl_mpp[] = {    PM8058_MPP_INIT(EXT_CHG_VALID_MPP, D_INPUT,        PM8058_MPP_DIG_LEVEL_S3, DIN_TO_INT),    PM8058_MP…
转载请标注原文地址:http://blog.csdn.net/uranus_wm/article/details/9838847 一 USB引脚一般四根线,定义如下: 为支持OTG功能,mini/micro usb接口扩展了一个ID引脚(第4脚) A设备端ID脚接地,则初始状态为Host,例如PC和支持OTG设备做主设备时 B设备端ID脚悬空,默认上拉为高电平,则初始状态为Device,例如U盘和支持OTG设备做从设备时 1. 移动设备如需支持OTG,内部ID引脚需要默认上拉为高 2. VBUS…
问题一:USB的传输线结构是如何的呢? 答案一:一条USB的传输线分别由地线.电源线.D+.D-四条线构成,D+和D-是差分输入线,它使用的是3.3V的电压(注意哦,与CMOS的5V电平不同),而电源线和地线可向设备提供5V电压,最大电流为500MA(可以在编程中设置的,至于硬件的实现机制,就不要管它了). 问题二:数据是如何在USB传输线里面传送的? 答案二:数据在USB线里传送是由低位到高位发送的. 问题三:USB的编码方案? 答案三:USB采用不归零取反来传输数据,当传输线上的差分数据输入…