查看: 3883|回复: 2

STM32F107VCT6金龙107USB例程USB HOST例程

[复制链接]

该用户从未签到

发表于 2015-4-30 09:59:05 | 显示全部楼层 |阅读模式
分享到:
1HOST_HID例程说明

1.1HID简介
HIDHuman Interface Device)人机接口设备类别是Windows最早支持的USB类别。由其名称可以了解HID设备是计算机直接与人交互的设备,例如键盘、鼠标和游戏杆等。不过HID设备不一定要有人机接口,只要符合HID类别规范,就都是HID设备。
在该例程当中,金龙107开发板作为一个主机,可以识别USB鼠标和USB键盘,鼠标的移动可以在3.2寸屏上有所显示,左右按键以及中键的按下,也会做出相应的反应,接上键盘可以可以通过键盘输入字符,同时如果插入SD卡,可以使用键盘输入文件名之后,点击键盘的ENTER键,打开键入的TXT文件,并开始向改TXT文档写入由键盘输入的数据,输入完毕,再次点击键盘的ENTER键,则可以保存文件,并存储在SD卡上,SD卡插在板上。
1.2、硬件说明
本实验涉及到USB的接口,如果接上USB键盘,则需要用到SD卡。因为USB端口的两个引脚和USART1的两个引脚共用,所以要注意跳线帽JP10JP11要接在1-2上。此外,就是要注意boot的选择,即JP4JP7接在2-3上。电路图如下图所示:
图片14.png
图片13.png
如果在软件确定没有问题的时候,也要注意检查硬件的连接是否有问题,主要检查点就是Q2和按键的输出信号是否正确。
1.3、程序说明
从主程序看出,USB的设置调用了一个初始化函数,其形参是几个结构体,通过调用结构体里面的函数,实现对USB的初始化设置。同时主程序里面还在不停的检测USB设备的状态,然后做出对应的动作。
我们这里主要看一下都对哪些进行了配置,在usb_bsp.c文件里面主要对USB所使用到的VBUS的选择端和USB的中断做了一些配置,以及USB的时钟配置,其中涉及到使用TIM2做的定时器延时的配置。
usbh_usr.c文件中涉及的是关于屏的一些初始化,以及显示屏要显示的一些实时信息。这里面也是通过一个结构体来实现函数的调用。
图片12.png
其中我们主要看void USBH_USR_Init(void)函数里面的一些对相关硬件的初始化,其中首先对主函数中涉及到用来指示程序运行的四个LED灯的端口的初始化,然后是对S1按键的的端口引脚的配置,下面就是LCD的初始化的设置。以及初始化之后屏幕要显示的内容。下面的函数主要是我们用户的函数,包括鼠标接上之后,的显示,以及键盘接上之后的显示,键盘的输入的显示,和对SD卡的使用等。
图片11.png
下面的函数是对鼠标界面的初始化显示,以及得到鼠标的移动坐标值之后,金龙107对数据的处理并在3.2寸显示屏上,进行实时的显示。
图片10.png
图片9.png
下面的函数是对键盘的初始化,以及SD卡的初始化。
图片8.png
下面的函数是对接收到的数据进行的处理过程,我们首先要判断是否输入完成文件名,如果输入文件名之后,则当按下ENTER键的时候,则创建并打开该文档,当再次输入数据的时候,判断文档是否打开,如果文档已经被打开,则把输入的字符存放在文档中,如果检测到按下ENTER键,则关闭文档并保存。
图片7.png
1.4、实验现象
下载程序,并复位。插上鼠标,则屏幕显示如下第一幅图,然后按下开发板上的S1按键,则会出现第二幅图片。移动鼠标,上面的’*’会移动。
图片6.jpg    图片5.jpg
如果你接的是键盘,初始界面上面会显示你连接的是HID键盘,按下S1按键则会是下面的界面。下面会显示“SD Init is OK”并让你输入文件名。
图片4.jpg
输入文件名之后,点击键盘ENTER键之后的界面,下面提示,文档已打开。
图片3.jpg
输入字符,输入完成之后,点击键盘ENTER键之后的界面,文档保存。
图片2.jpg


【1】金龙107_HOST_HID.rar (1.1 MB, 下载次数: 37)
回复

使用道具 举报

  • TA的每日心情
    开心
    2015-4-30 09:16
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2015-5-4 14:27:54 | 显示全部楼层
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 08:16 , Processed in 0.137105 second(s), 20 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.