STM32F103的实用例程(非常好用的源代码)

所属分类:其他
开发工具:C/C++
文件大小:710KB
下载次数:98
上传日期:2018-03-15 14:58:20
上 传 者daimengxiaozi
说明:  STM32F103的实用例程(非常好用的源代码)
(A practical routine for STM32F103 (very good source code))

文件列表:
USB_test\FLASH.ini (964, 2008-10-06)
USB_test\hw_config.c (10039, 2008-10-06)
USB_test\List\hw_config.i (72222, 2008-10-17)
USB_test\List\main.i (67746, 2008-10-17)
USB_test\List\STM32F10x.lst (30509, 2008-10-17)
USB_test\List\stm32f10x_it.i (63041, 2008-10-17)
USB_test\List\usb_core.i (31082, 2008-10-17)
USB_test\List\usb_core._ip (203, 2008-10-17)
USB_test\List\usb_desc.i (14370, 2008-10-17)
USB_test\List\usb_init.i (11028, 2008-10-17)
USB_test\List\usb_init._ip (203, 2008-10-17)
USB_test\List\usb_int.i (16227, 2008-10-17)
USB_test\List\usb_int._ip (201, 2008-10-17)
USB_test\List\usb_istr.i (14500, 2008-10-17)
USB_test\List\usb_mem.i (11290, 2008-10-17)
USB_test\List\usb_mem._ip (201, 2008-10-17)
USB_test\List\usb_prop.i (18365, 2008-10-17)
USB_test\List\usb_pwr.i (71362, 2008-10-17)
USB_test\List\usb_regs.i (25601, 2008-10-17)
USB_test\List\usb_regs._ip (203, 2008-10-17)
USB_test\List\USB_TEST.map (96429, 2008-10-17)
USB_test\main.c (2930, 2008-10-06)
USB_test\Obj\ExtDll.iex (19, 2008-10-06)
USB_test\Obj\hw_config.crf (142818, 2008-10-17)
USB_test\Obj\hw_config.d (2264, 2008-10-17)
USB_test\Obj\hw_config.o (161468, 2008-10-17)
USB_test\Obj\hw_config.txt (19204, 2008-10-17)
USB_test\Obj\JoyStickMouse.plg (3316, 2008-10-06)
USB_test\Obj\JoyStickMouse.sct (479, 2008-10-06)
USB_test\Obj\JoyStickMouse.tra (2004, 2008-10-06)
USB_test\Obj\main.crf (141122, 2008-10-17)
USB_test\Obj\main.d (2084, 2008-10-17)
USB_test\Obj\main.o (150796, 2008-10-17)
USB_test\Obj\main.txt (2142, 2008-10-17)
USB_test\Obj\STM32F10x.o (4708, 2008-10-17)
USB_test\Obj\stm32f10x_it.crf (128276, 2008-10-17)
USB_test\Obj\stm32f10x_it.d (2015, 2008-10-17)
USB_test\Obj\stm32f10x_it.o (193572, 2008-10-17)
USB_test\Obj\stm32f10x_it.txt (13375, 2008-10-17)
USB_test\Obj\usb_core.crf (24500, 2008-10-17)
... ...

1设计要求 利用一块STM103V100评估板的五个按键实现标准的USB接口游戏杆功能。 2硬件电路实现 在评估板上已有一个简易的游戏杆,其SELECTION、DOWN、RIGHT、LEFT和UP键分别与处理器 的PD12、PD14、PE1、PE0、PD8引脚相连;处理器的USB接口已经转换电路连接到CN1连接器。 3 软件程序设计 由于USB协议及接口较为复杂,MDK所带的STM32F10X的BSP包中单独提供了USB的相关函数库, 读者可以在..\Keil\ARM\RV31\LIB\ST\STM32F10x\USB目录下找到相关文件,与USB相关的头文件 则在..\Keil\ARM\INC\ST\STM32F10x\USB目录下。在USB相关的应用程序中,需要将这两个目录 包含到编译路径中去。 该程序的结构比较复杂,除了库文件以及USB函数库文件之外,还包含8个源文件,其中STM32F10x.s 是启动代码,这里不作冗述。下面分别介绍其他7个函数: main.c 该函数中主要包含2个函数,其中main函数初始化系统以及USB接口,之后不断查询游戏杆是 否有动作,如果有动作则根据动作向USB缓冲器发出相关数据;Delay函数用于延迟。 usb_desc.c 该文件中没有任何函数,只是包含一些定义USB设备的描述符常数,由于游戏杆是标准 USB设备,因此比较容易得到相关的参数。读者若要开发非标准的USB设备,则还需要开发PC 上运行的非标准设备的驱动程序。 stm32f10x_it.c 该文件中包含USB中断服务程序,由于USB中断有很多情况,这里的中断服务程序只是调 用usb_Istr.c文件中的USB_Istr函数,由USB_Istr函数再做轮询处理。参考程序如下: usb_Istr.c 该文件中只有一个函数,即USB中断的USB_Istr函数,该函数对各类引起USB中断的事件作轮询 处理。参考程序如下: usb_prop.c 该文件用于实现相关设备的USB协议,例如初始化、SETUP包、IN包、OUT包等等。 usb_pwr.c 该文件中包含处理上电、调电、挂起和恢复事件的函数, hw_config.c 该文件中包含系统配置的函数,和处理游戏杆动作的函数。其中,Set_System函数用于配置时 钟、通用端口;Set_USBClock函数用于配置USB端口时钟;USB_Interrupts_Config函数用于配 置USB中断;USB_Cable_Config函数配置USB电缆状态;JoyState函数用于获取游戏杆的状态; Joystick_Send用于向USB端口传送游戏杆的事件。 4 运行过程 (1) 使用Keil uVision3,通过两根USB电缆分别连接评估板的CN1和CN5 ; (2) 打开实验例程目录USB_TEST子目录下的USB.Uv2例程,编译链接工程; (3) 点击MDK 的Debug菜单,点击Start/Stop Debug Session;或者将程序烧写到开发板上, 重启开发板; (4) 分别使用评估板上的Joystick的5个键,观察PC机屏幕的鼠标,如果鼠标跟随Joystick的 按键动作而移动,则表明程序运行成功。

近期下载者

相关文件


收藏者