我是C和嵌入式编程的新手。
我只想让我的主线程等到usb设备插入我的嵌入式设备。
然而,无论我看起来多么努力,我都找不到有关如何检查usb是否已插入的文档或示例。 我使用的是ATSAM4S8B。
编辑:
实际上我认为usb功能内置于芯片中,我可以使用Atmel ASF库。
我希望我只能调用一个库函数来查看usb是否已连接,但我找不到类似的东西。
答案 0 :(得分:1)
有两种方法可以检测USB连接:
等待usb事件发生,并在硬件寄存器中触发特殊USB标志,如果启动过程开始,将发出信号。此解决方案取决于您使用的特定芯片和固件烧入MCU。
使用感测IO引脚。通过1k电阻将USB 5V连接到MCU的引脚。引脚上的高电平表示USB已连接。不要忘记使用高值(> 10k)下拉电阻,当USB断开时,它会将输入拉低。