完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 xuxi131 于 2016-11-20 15:00 编辑 【NUCLEO-F412ZG试用体验】+ USB HID接口实验 (一) NUCLEO-F412ZG开发板: 这次有幸通过电子发烧友网拿到NUCLEO-F412ZG开发套件,下图左边就是144PIN的NUCLEO-F412ZG,右边是64PIN的NUCLEO-L476RG:
144PIN的NUCLEO-F412ZG PCB板大了不少,自然引出脚多,相对可使用内部设备增多,可以进行更多试验,比NUCLEO-64PIN板还增加一个USB_MircoAB插座,能进行USB设备和USB OTG方面的试验。看到NUCLEO-F412ZG开发板下部有很多没有帖的元器件,是以太网PHY部分,所以还可以利用,我的想法是: 在STM32F412ZG的实验做完后,添加下部的器件的同时,更换STM32F412ZG芯片为STM32F407或STM32F429甚至换成STM32F746或STM32F767,就可变成NUCLEO-F429ZI,NUCLEO-F746ZG,NUCLEO-F767ZI开发板,并可进行以太网功能的实验。 (二) USB HID鼠标实验: 1.试验内容: 本实验利用NUCLEO-F412ZG的CN13 USB接口,模拟一个HID设备即鼠标的功能。在NUCLEO-F412ZG开发板上,可供编程使用的人机交互器件不多,只有蓝色的B1按扭,和LD1,LD2,LD3,三个发光管。所以综合考虑后,设定程序运行时鼠标自动循环移动,B1按扭模拟鼠标右键功能。 程序最终运行时为: 当CN13 USB接口接入电脑USB口时,电脑识别出一个人体学USB输入设备(HID设备),一个鼠标其他指针设备中的HID-compliantmouse设备(如下图),程序模拟鼠标自动按菱形◇路径快速循环移动,按键B1模拟鼠标右键,当第一次按下时弹出右键菜单并停止鼠标循环移动,如再按下B1,鼠标进入快速循环移动。 在鼠标自动按菱形◇路径快速循环移动时,LD1,LD2,LD3也循环点亮,点亮循环速度就是鼠标移动的速度,按B1后LD1,LD2,LD3变为另一种慢速循环点亮,代表停止模拟鼠标自动移动。 电脑识别出的USB设备 下面介绍用ST32CubeMX生成上述程序的初始化代码,在MDK5.17环境,加上试验内容代码的详细方法,并附上源代码和目标代码文件。 2.用STM32CubeMX生成初始代码: 运行STM32CubeMX,点击Now Projet建立新工程,在弹出的窗口中选择Board Selector页, Type of Board下拉框中选择Nucleo144,在MCU Series下拉框中选择STM32F4,构选Initalize all peripherals with their default Mode。然后在Boradds List: 3Item框中双击第三项:Nucleo144NUCLEO-F412ZG 进入主配置,见下图:
在主配置中: ①选择Pinout页,选配项为下图
②选择ClockConfiguration页,选配项为下图
③选择Configuration页面可查看或更改设备参数等。如下图 ④点击主菜单中的Projectg下拉选择Settings…弹出ProjectSettings窗口, 在其中选择工程名称,与存储位置,并在工具链中选择MDK-ARM V5。如下图 ⑤点击主菜单中的Projectg下拉选择Generate Code最终生成初始代码,下步进入MDK开发环境添加部分应用代码后编绎。 3.MDK配置及编绎: 特别要注意的是在进入MDK 时第一次使用你的MCU器件时在MDK中可能没有配置,在打开上述用STM32Cube生成的工程时会自动弹出Pack Installer窗口,如果没弹出可点选Pack Installe图标,如下图: 在弹出的窗口中点击Packs菜单选中Check For Updates进行升级完后,查看Device中有STM32F412ZGTx器件后就可打开工程使用了,并且在Option for Target中的Device中可选择STM32F412ZGTx。 上面步骤完成后,就可打开工程开始添加程序 添加 鼠标自移动速度,步进点数定义: 添加部分: ①添加一个程序组Driver/BSP/STM32F4xx_Nucleo,并添加stm32f4xx_nucleo_144.c文件。 ②在stm32f4xx_it.c文件中SysTick_Handler函数中添加按键处理代码。 ③在main()函数中添加模拟鼠标自动循环移动的代码。 ④其余细节部分参见后面的源代码。 完成后进行编绎,点击load图标下载到开发板中运行: 如果LD1,LD2,LD3快速循环闪烁,说明程序运行正常,用USB线从CN13连到电脑USB口,能见到鼠标快速循环移动。压B1按键会弹出右键菜单。 下面是程序HEX文件和工程文件源代码:
USB_HID_MOUSE_HEX.rar
(15.32 KB, 下载次数: 9
)
USB_HID_MOUSE_CODE.rar
(26.93 MB, 下载次数: 239
)
注意:下载hex文件到开发板时,不能使用STVP下载,原因是最近版本的STVP都不支持STM32F412,官方没有 更新支持STM32F412。所以只能用STM32 ST-LINK Utility下载了。 |
|
相关推荐
|
|
969 浏览 0 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
954 浏览 2 评论
2066 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1162 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
1587 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 03:29 , Processed in 0.408230 second(s), Total 38, Slave 29 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号