打印
[技术问答]

NUC505 USB Host 如何判断U盘拔出?

[复制链接]
812|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
seawwh|  楼主 | 2020-4-14 10:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  使用NUC505 的U盘例子,可以识别U盘并读出扇区等,但不知道如何判断U盘已经拔出?

使用特权

评论回复
沙发
antusheng| | 2020-4-14 20:59 | 只看该作者
定时读优盘。。

使用特权

评论回复
板凳
antusheng| | 2020-4-14 20:59 | 只看该作者
拔了应该USB总线会发生中断信号吧

使用特权

评论回复
地板
wanduzi| | 2020-4-14 23:46 | 只看该作者
没用过,不知道断了是有中断啊还是需要读操作检测。

使用特权

评论回复
5
jasontu| | 2020-4-15 08:22 | 只看该作者
USBH_ProcessHubEvents()裡面會處理

使用特权

评论回复
6
vsfopen| | 2020-4-15 08:57 | 只看该作者
hub驱动里polling的时候,会发现,然后自动移除

使用特权

评论回复
7
dongnanxibei| | 2020-4-15 22:55 | 只看该作者
那就是有轮巡功能

使用特权

评论回复
8
dongnanxibei| | 2020-4-15 22:55 | 只看该作者
USBH_ProcessHubEvents();   //中断的检测

使用特权

评论回复
9
dongnanxibei| | 2020-4-15 22:56 | 只看该作者
https://bbs.21ic.com/icview-883293-1-1.html

使用特权

评论回复
10
seawwh|  楼主 | 2020-4-16 08:59 | 只看该作者
  使用下列办法测试,还未解决

1. 使用下列断点办法判断USB设备拔出,但是没有效果:
   该断点却可以感应到USB设备插入
    for (;;)
    {
        if (USBH_ProcessHubEvents())
        {
            put_rc(f_mount(&FatFs[0], "", 0));  //设置断点
        }
    }   

2. 观察NUC505的相关寄存器来判断USB设备拔出,也无效果
  寄存器:Host Controller Root Hub Port Status
  此寄存器有一个 CSC 标志位 Connect Status Change

3. 拦截USBH的中断,无效果
  在此设置断点 void USBH_IRQHandler(void)

使用特权

评论回复
11
seawwh|  楼主 | 2020-4-22 18:00 | 只看该作者
有没有新唐方面的技术支持给指引一下?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

368

帖子

0

粉丝