STM32 USB固件函数的驱动原理
STM32 USB固件函数的驱动原理
首先需要了解一个概念:
USB设备(DEVICE)从来只是被动触发,USB主机(HOST)掌握主动权,发送什么数据,什么时候发送,是给设备数据还是从设备请求数据,都是由USB主机完成的,USB设备只是配合主机完成设备的枚举、数据方向和大小。根据数据特性再决定该不该回复该如何回复、该不该接收该如何接收这些动作。
了解这些,再仔细查看STM32的参考手册USB部分以及STM32的中断向量表,从中可以找到两个中断:
/*******************************************************************************
* Function Name : USB_HP_CAN_TX_IRQHandler
* Description : This function handles USB High Priority or CAN TX interrupts * requests.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USB_HP_CAN_TX_IRQHandler(void)
{
USB_HPI();
}
/*******************************************************************************
* Function Name : USB_LP_CAN_RX0_IRQHandler
* Description : This function handles USB Low Priority or CAN RX0 interrupts * requests.
* Input : None
* Output : None
* Return : None
*******************************************************************************/
void USB_LP_CAN_RX0_IRQHandler(void)
{
USB_LPI();
}
即USB的高、低优先权中断处理函数,这也是整个STM32 USB的事件驱动源,USB_HPI()与USB_LPI()既而转向usb_core(.c,.h)进行相关处理。中断传输(interrupt)、控制传输(control)、大流量传输(bulk)由USB_LPI()响应,大流量传输(bulk)同样可能响应USB_HPI(),同步传输(isochronous)只响应USB_HPI()。
这样响应USB的所有请求只需要关注usb_core.c文件中的USB_LPI()与USB_HPI()函数。由于本人也是对USB刚刚有所了解,因而在本例笔记中USB_HPI()函数未做任何处理,在此开源希望大家能完善与纠正错误并能共享喜悦。以下是USB_LPI()函数:
// *****************************************************************************
STM32固件函数库_信息与通信_工程科技_专业资料。stm32固件函数库,集成了所有...该固件库驱动程序可以作为如何设置外设的一份参考资料,根据实际需求对其进行调整。...
打开你的用户程序,使用搜索插到系统中所有的涉及到 NVIC_SetVectorTable()函数的...(1) 、STM32 USB 驱动安装 将你的 STM32 开发板通过 USB 与上位机连接,...
测试软件:控制万利 STM3210B-LK1 开发板的 4 个 LED,并定时读取 Joystick 状态 第 2 篇:STM32 USB 固件函数的驱动原理 首先需要了解一个概念: USB 设备(...
STM32的USB固件库用户手册_电子/电路_工程科技_专业资料。UM0424 User manual STM32 USB-FS-Device development kit Introduction The STM32 USB-FS-Device ...
bbs_sn=1808061&bbs_page_no=1&bbs_id=3020 第 2 篇:STM32 USB 固件函数的驱动原理 首先需要了解一个概念: USB 设备(DEVICE)从来只是被动触发,USB 主机(...
STM32固件函数库-英文(新)_电子/电路_工程科技_专业资料。STM32固件函数库使用说明,有DAC部分UM0427 User manual ARM?-based 32-bit MCU STM32F101xx and ...
STM32固件函数库-中文_工学_高等教育_教育专区。STM32固件函数库,方便大家查找...该固件库驱动程序可以作为如何设置外设的一份参考资料,根据实际需求对其进行调整。...
STM32所用外设固件函数简介_理学_高等教育_教育专区。STM32所用外设固件函数... STM32 USB固件函数的驱动... 4页 1下载券 STM32固件函数库-中文 368页 1...
STM32固件库使用手册 v3.5版本_电子/电路_工程科技_专业资料。STM32固件库...该函 数库还包括每一个外设的驱动描述和应用实例。通过使用本固件函数库,无需...
1.1.1?STM32 标准外设库概述? STM32 标准外设库之前的版本也称固件函数库或...标准外设库驱动头文件? 标准外设库驱动源文 ? 件? Examples? MDK‐ARM? 标准...
热门文档