android usb移植 hid,stm32 USB-HID移植

本文介绍了STM32 USB-HID移植到Android USB移植过程中的关键步骤和注意事项,包括STM32芯片设计的问题、外部晶振值的设置、内核时钟配置、USB时钟配置、中断收发尺寸调整、软连接设置以及中断处理函数的差异。文章特别强调了STM32F103和STM32F105/107在USB功能上的不兼容性,提供了解决方案。
摘要由CSDN通过智能技术生成

stm32 USB-HID移植

[复制链接]

stm32芯片的设计确实很恶心简单举两个例子:

1. STM32F103芯片的USB和CAN中断和RAM共用,导致无法同时使用USB和CAN。

2.STM32F105芯片的USB的从机需要接VBUS脚,而103的不用接都可以;103的软连接的通过IO端口控制的,而105的却是内部上拉电阻。

这些问题导致了从STM32的103系列转到105时是不兼容的。USB部分代码还必须重新移植,这样的设计真的很恶心。

STM32不管是那个系列都为我们提供了例程,这一点来说大大减小了使用STM32的难道,下面我们简单的说说STM32的USB移植是需要注意的几点。

1. 首先应该注意更改外部晶振值,让实际与软件中的值相同:

#define HSE_VALUE    ((uint32_t)12000000) /*!< Value of the External oscillator in Hz */ (stm32f10x.h文件)

2. 设置内核时钟,我们一般都设置为72MHz:

#define SYSCLK_FREQ_72MHz  72000000 (system_stm32f10x.c文件)

3. 设置USB时钟,这个固定在48MHz(usb_desc.c文件):

/* Configure PLLs ------------------------------------------------------*/

/* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */

/* PREDIV1 configuration: PREDIV1CLK 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值