STM32F10X USB速度慢的原因

发布者:zeta16最新更新时间:2017-01-19 来源: eefocus关键字:STM32F10X  USB速度慢 手机看文章 扫描二维码
随时随地手机看文章

USB速度慢的原因有以下几种可能:

1、协议问题

     全速的USB设备,最大速度12Mb/s,但是如果跑的是HID之类慢速设备的协议,那么速度就没有那么快了,理论上只有1.5Mb/s。

2、配置问题

    USB配置描述符中有关于接收中断和发送中断时间间隔参数,默认的好像是0x20,就是32ms,可以将此值改为0x01。速度会快很多。

3、其它的干扰

    例如系统滴答的中断优先级比USB高,如果系统滴答的中断频率很高(10ms以内),就会影响USB的速度,详细原因不详,测试发现会这样。

 4、上位机因素

   上位机发送的数据本身就很慢,也会造成USB的速度慢。


关键字:STM32F10X  USB速度慢 引用地址:STM32F10X USB速度慢的原因

上一篇:STM32F103 CAN中断发送功能的再次讨论
下一篇:STM32F107 USB作为device的插拔检测

推荐阅读最新更新时间:2024-03-16 15:31

stm32f10x在keil环境下的配置
针对32开发,最理想的开发IDE还是keil,keil前几年被arm收购,对本家芯片的支持无疑是最好的。 下面介绍一下,keil环境下针对stm32开发环境的配置,软件的安装、破解这里不再赘述,不明白的可以百度。 STM32开发分为,寄存器版本开发还有库函数开发,依据库函数搭建的环境能运行寄存器版本例程, 寄存器版本开发环境,不能运行库开发的例程。 工作中为了方便代码移植,建议选择搭建库环境作为开发环境。 下面介绍一下模板工程创建,工程创建完毕每个工程均可以在此基础上进行开发, 第一步:下载官方库 stm32固件库V3.5 里面包含官方固件库源码,还有官方参考板的参考例程。 对于开发环境搭建而言,我们主要关注其中固件库源码以及针
[单片机]
STM32F10x_RTC秒中断
Ⅰ、概述 RTC(Real Time Clock)是实时时钟的意思,它其实和TIM有点类似,也是利用计数的原理,选择RTC时钟源,再进行分频,到达计数的目的。 该文主要讲述关于RTC的秒中断功能,这个功能类似SysTick系统滴答的功能。RTC秒中断功能其实是每计数一次就中断一次。注意,这里所说的秒中断并非一定是一秒的时间,它是由RTC时钟源和分频值决定的“秒”的时间,当然也是可以做到1秒钟中断一次。 本文章提供的实例工程,其实验效果是: 主函数间隔0.5秒LED变化一次; 秒中断一次打印数据 RTC Sec... ; 也就是LED变化一次,串口打印一次数据 RTC Sec... 扩展部分的功能RTC计数:可以实现
[单片机]
STM32F10x_RTC秒中断
STM32F10x_模拟I2C读写EEPROM
Ⅰ、写在前面 说到IIC,大家都应该不会陌生,我们初学单片机的时候或多或少都知道或 了解过,甚至使用I2C控制过器件。但是,有多少人真正去深入理解,或者深入 研究过I2C通信协议呢? 1、我们有必要学习I2C通信吗? I2C作为常见串行通信的其中一种,在嵌入式领域中占有很重要的地位。原因在于我们嵌入式开发的产品中有很多设备都是使用I2C进行通信的。我们开始学习单片机开发的时候最先接触的应该是使用I2C操作EEPROM(如AT24C08)通信,这也是典型的I2C通信例子。其实还有很多常见的I2C通信设备,如温度芯片、触摸芯片、时钟芯片等,当你工作今后或多或少都会遇到I2C通信的设备。所以,如果你有时间的话,请花一定时间去研究学习
[单片机]
STM32F10x_模拟I2C读写EEPROM
STM学习笔记--STM32F10X时钟
一:系统(SYSCLK)时钟3种 (注:时钟频率较高) HSI振荡器时钟 8MHZ HSE振荡器时钟 4-16MHZ PLL 时钟 2-16倍频 PLL的设置必须在其激活前完成,激活后不能改变其状态。 1:HSI为内部8MHz RC振荡产生,启动时间比HSE短,精度较低。出厂校准精度为1%(25℃)。校准值存放在HSICAL 。 软件判断HIS是否启动完成:通过判断HSIRDY位是否为1。启动时,等HIS稳定后,硬件置位HSIRDY。可以产生中断,如果中断使能 (RCC_CIR) 。 时钟切换:HSI在复位后为默认系统时钟,若改变时钟源,需等到目标时钟源准备就绪,才能够发送切换。准备就绪的标准是:R
[单片机]
STM学习笔记--<font color='red'>STM32F10X</font>时钟
STM32F10x 学习笔记5(USART实现串口通讯 1)
STM32F10x 系列单片机中都包含了USART 模块,所谓USART,就是通用同步异步收发器。通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。 从前面的介绍可知USART模块功能非常的强大。这里我只简单讲讲如何用USART模块来实现标准EIA-232 串口通讯。 用过单片机的人肯定都接触过串口,设置串口无非就是设置波特率、数据位、停止位、奇偶校验位。发送接收也就三种
[单片机]
<font color='red'>STM32F10x</font> 学习笔记5(USART实现串口通讯 1)
STM32F10x中的端口寄存器
GPIO(General Purpose Input Output)是通用输入/输出端口; APB2ENR 高级外设总线(Andvaced Peripheral Bus)使能(Enable)寄存器;外设的对应位使能(置1)后,该外设才可以使用。 APB2RSTR 高级外设总线(Andvaced Peripheral Bus)复位(Reset)寄存器;当外设出现异常的时候可以通过复位寄存器里面的对应位设置,实现该外设的复位,然后重新配置这个外设达到让其重新工作的目的。一般在系统刚开始配置外设的时候,都会先执行复位该外设的操作。 GPIOx_CRL (x=A..E) 配置低(Config Low)寄存器 GPIOx_CRH (x
[单片机]
STM32F10x uart初始化以及寄存器说明
USART(Universal Synchronous Asynchronous Receiver Transmitter) 也就是通用同步异步收发。它根据NRZ非同步串行数据工业标准,提供了灵活的全双工数据交换功能。它支持同步单向通信和半双工单线通信,也支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及硬件控制操作(需要增加两个管脚,分别是CTS/RTS)。 这里我只简单讲讲如何用USART模块来实现标准EIA-232 串口通讯。 我们首先使用的是硬件控制,然后以中断方式实现了uart数据的收发。 1.uart管脚和clk初始化很简单,整个流程如下: int main(){
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved