OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4913|回复: 6

STM32F429的板子同时支持u盘和键盘

[复制链接]

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2016-11-5
在线时间
21 小时
发表于 2017-2-24 15:48:48 | 显示全部楼层 |阅读模式
1金钱
例子里面是手动设置u盘模式或者键盘模式,我现在需要自动判断是键盘还是u盘,要怎么做?

最佳答案

查看完整内容[请看2#楼]

谢谢.原子的例子太老了,我现在移植了官方的例子,貌似可以,原子的例子我虽然也做好了,但是总觉得不大正式
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2016-11-5
在线时间
21 小时
 楼主| 发表于 2017-2-24 15:48:49 | 显示全部楼层
szjx1212 发表于 2017-2-24 19:06
void USBH_UserProcess(USBH_HandleTypeDef *phost, uint8_t id)
{
        switch(id)

谢谢.原子的例子太老了,我现在移植了官方的例子,貌似可以,原子的例子我虽然也做好了,但是总觉得不大正式
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2017-2-24 16:10:48 | 显示全部楼层
USBH_GetActiveClass(phost)
回复

使用道具 举报

7

主题

16

帖子

0

精华

初级会员

Rank: 2

积分
76
金钱
76
注册时间
2016-11-5
在线时间
21 小时
 楼主| 发表于 2017-2-24 16:35:28 | 显示全部楼层
szjx1212 发表于 2017-2-24 16:10
USBH_GetActiveClass(phost)

问题是我看初始化的时候传入回调函数时就要决定是什么设备了,你这个肯定要初始化完了等设备插入后才能调用吧,我想问初始化的时候怎么设置
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-2-24 19:00:18 | 显示全部楼层
得分析下初始化的过程了。对比下键盘和U盘的差异,进行差异化配置
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2017-2-24 19:02:39 | 显示全部楼层
xiezonglin 发表于 2017-2-24 16:35
问题是我看初始化的时候传入回调函数时就要决定是什么设备了,你这个肯定要初始化完了等设备插入后才能调 ...

        USBH_Init(&hUSBHost, USBH_UserProcess, 0);
        USBH_RegisterClass(&hUSBHost, USBH_MSC_CLASS);
        USBH_RegisterClass(&hUSBHost, USBH_HID_CLASS);
        USBH_Start(&hUSBHost);
回复

使用道具 举报

0

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
654
金钱
654
注册时间
2016-12-14
在线时间
332 小时
发表于 2017-2-24 19:06:05 | 显示全部楼层
xiezonglin 发表于 2017-2-24 16:35
问题是我看初始化的时候传入回调函数时就要决定是什么设备了,你这个肯定要初始化完了等设备插入后才能调 ...

void USBH_UserProcess(USBH_HandleTypeDef *phost, uint8_t id)
{
        switch(id)
        {
                case HOST_USER_SELECT_CONFIGURATION:
                        break;
                case HOST_USER_DISCONNECTION:
                        Appli_state = APPLICATION_DISCONNECT;
                        break;
                case HOST_USER_CLASS_ACTIVE:
                        switch(USBH_GetActiveClass(phost))
                        {
                        case USB_MSC_CLASS:
                        Appli_state = APPLICATION_MSC;
                        break;
                        case USB_HID_CLASS:
                        Appli_state = APPLICATION_HID;   
                        break;      
                        }
                        USBH_InitApplication();
                break;
                case HOST_USER_CONNECTION:
                        break;
                default:
                        break;
        }
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-20 07:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表