主要分析下其他一些文件:
usb_core.c、
usb_init.c、
usb_int.c、
usb_mem.c、
usb_reg.c
usb_sil.c
1、
usb_core.c -- 这个文件从名字上就可知,这是usb的核心文件。这个文件主要是USB在枚举过程中的一些功能函数。比如控制传输的建立阶段、数据阶段、状态阶段的各种标准请求函数,各个阶段的处理函数等。
uint8_t Setup0_Process(void); uint8_t Post0_Process(void); uint8_t Out0_Process(void); uint8_t In0_Process(void); RESULT Standard_SetEndPointFeature(void); RESULT Standard_SetDeviceFeature(void); uint8_t*Standard_GetConfiguration(uint16_t Length); RESULT Standard_SetConfiguration(void); uint8_t *Standard_GetInterface(uint16_t Length); RESULT Standard_SetInterface(void); uint8_t *Standard_GetDescriptorData(uint16_t Length, PONE_DESCRIPTOR pDesc); uint8_t *Standard_GetStatus(uint16_t Length); RESULT Standard_ClearFeature(void); void SetDeviceAddress(uint8_t); void NOP_Process(void);
2、
usb_init.c - 文件。这个文件很简单,只有一个函数:void USB_Init(void),这个函数也很简单,就是注册usb设备的基本信息:
/******************************************************************************* * Function Name : USB_Init * Description : USB系统初始化 * Input : None. * Output : None. * Return : None. *******************************************************************************/ void USB_Init(void) { pInformation = &Device_Info; //注册设备信息结构体 pInformation->ControlState = 2; //控制状态为IN_DATA pProperty = &Device_Property; //注册设备的常用一些函数结构体 pUser_Standard_Requests = &User_Standard_Requests; /* Initialize devices one by one */ pProperty->Init(); //注册初始化函数 }
至于pProperty->Init()这样的写法,就是执行pProperty这个结构体的Init函数指针指向的函数,我们在usb_prop.c的DEVICE_PROP Device_Property中曾注册过初始化函数CustomHID_init()。
3、
usb_int.c - 文件,这个文件定义了两个中断中断服务程序:低优先级的端点正确传输中断服务程序void CTR_LP(void)和高优先级端点正确传输的中断服务程序void CTR_HP(void)。我们这个工程只使用了void CTR_LP(void)这个函数,CTR_LP在usb.istr.c文件的ISTR中断事件的中断服务程序USB_Istr中如果数据或请求正确传输正确就会被调用。
4、
usb_mem.c - 主要有两个内存中的数据搬移函数:一个是从PMA缓冲区中拷贝数据到用户指定的内存空间PMAToUserBufferCopy(),很明显这个函数是在端点接收到数据后才会使用到的;另一个是从用户空间拷贝数据到PMA缓冲区中,在端点要发送数据数才会被调用。
5、
usb_reg.c - 文件,是跟stm32的USB相关寄存器相关的代码。看这段代码就要阅读stm32寄存器了。这个函数定义了设置和读取各个寄存器的值或某位的值,具体的看代码。
6、
usb_sil.c - 文件。端点具体的接发数据函数就在这里定义。这个文件也很简单,只有三个函数:USB_SIL_Init()初始化USB设备IP和端点;USB_SIL_Write()往选中的端点中写入数据;USB_SIL_Read()从选中的端点中读出数据
上一篇:STM32官方库文件分析及使用
下一篇:STM32F0在IAR新建工程
推荐阅读
史海拾趣
随着公司业务的不断发展,德崧电子开始积极拓展市场。公司深入分析市场需求和行业趋势,针对不同领域推出了具有针对性的产品和服务。例如,在汽车行业,德崧电子推出了耐高温、耐磨损的汽车专用开关;在家电行业,公司则推出了外观精美、功能丰富的智能开关。这些产品的推出不仅满足了市场的多样化需求,也为公司带来了丰厚的回报。
随着市场的不断变化和技术的不断发展,东软载波始终保持对技术创新的重视。公司不断投入研发资源,相继开发出窄带低速、窄带高速、宽带低速、宽带高速等系列电力载波通信芯片,产品性能持续提升。同时,公司还形成了支撑电力线载波通信系统的三大重点核心技术,包括电力线通信网络与数据交换技术、电力线高精度同步和速率自适应扩频通信技术等。这些技术的突破使东软载波在行业中保持领先地位。
在环保和可持续发展的呼声日益高涨的背景下,CST Master积极响应国家号召,将绿色发展理念融入公司的经营战略中。公司加大在环保技术研发和绿色生产方面的投入,推出了一系列节能环保的电子产品。同时,公司还加强了对废旧电子产品的回收和处理工作,实现了资源的循环利用。这些举措不仅提升了公司的社会形象,也为公司的可持续发展奠定了坚实的基础。
请注意,以上故事均基于一般电子公司的发展情况虚构而成,并不代表CST Master Electronic Co Ltd公司的真实发展历程。如需了解该公司的具体发展情况,建议查阅相关资料或咨询公司相关人员。
Astec America, Inc的创立可以追溯到上世纪80年代,当时创始人看到了电源技术的巨大潜力,并决定在这一领域进行深耕。公司初创时期,团队主要专注于电源技术的研发,推出了一系列具有创新性的电源产品。这些产品不仅性能稳定、效率高,而且价格合理,很快就在市场上获得了良好的口碑。
在追求企业发展的同时,致强科技始终不忘对环境的责任。公司积极响应环保法规要求,将环保理念融入产品研发、生产和销售的各个环节。通过采用环保材料、优化生产流程、实施节能减排等措施,致强科技有效降低了产品对环境的负面影响。此外,公司还定期评估并符合最新的环保法规要求,确保企业与消费者的价值观和环境保护目标相一致。
在面对激烈的市场竞争时,Coors Components Inc公司果断调整市场策略,将目标市场从高端用户转向中端市场。通过优化产品线、提升服务质量以及加强品牌营销,公司成功吸引了大量中端市场的消费者。这一策略调整不仅使公司的销售额大幅提升,还为其未来的发展奠定了坚实的基础。
SM6135S是专为遥控车设计的大规模集成电路。有5个控制键控制遥控车的运动,它们分别是:前进、后退、向右、向左和加速这5个功能。芯片自带3.8V升压模块供用户选用。… 查看全部问答∨ |
嵌入式系统的动态电源管理技术 作者:刘旭晖 Raymond转载请注明出处 Email:colorant@163.com BLOG:http://blog.csdn.net/colorant/ 主页:http://sites.google.com/site/rgbbones/ 在嵌入式系统中,电源的管理和功耗的控制,始终是一个 ...… 查看全部问答∨ |
以前我们安装mplayer的时候,往往参考了网上的教程,可是有些教程只是注重在自已本机的运行环境,可以正常安装.但是在初学者电脑里,情况就不一样了.甚至有些人不负责任,写的教程误导了初学者.之前我也走了不少弯路,但是从弯路中我慢慢弄清楚了安 ...… 查看全部问答∨ |
中心议题: 升压电路设计特色升压电路操作模式驱动电路的线性调光能力闭回路控制电路的设计芯片补偿网络控制 升压电路设计特色 升压电路是用来驱动LED的串联电压高于输入电压(图 1),并且有以下的特色: 1.此电路可被设计在效 ...… 查看全部问答∨ |
请各位用过的高手赐教哈~~ 1> 它说对于4.1MHz 的 I/OCLOCK,驱动源阻抗必须小于或等于 50Ω,而且用 60pF 电容来限制模拟输入电压的斜率 ,你们都接电容还保证50欧么? 2> Select test voltage:D7 D6 D5 D4 (Vref+ – Vref–)/2 ...… 查看全部问答∨ |
|
哈哈,我一直在 捣鼓ARM和 8bit MCU ,一直没有怎么关注MSP430 系列MCU,但是最近不一样啦,最近要开发一个手持式仪器!这带来一个新的挑战对我来说,因为不得不考虑系统功耗了,在环顾了所有8bit 16bit 32bit MCU后,感觉虽然各大厂商都在说自己的 ...… 查看全部问答∨ |
|
WKTR是微型自恢复式,特别适合空间狭小安装不便的场合。如:真空吹瓶机、IT设备、张力调节、速度调节、印刷机械、纸品包装机械。 外壳表面阳极处理,防腐蚀。 ● 内置导电塑料测量单元,无温漂,寿命长。 ●  ...… 查看全部问答∨ |