VBUS检测

开始者 <a href="http://community.silabs.com/t5/Welcome-and-Announcements/Community-Ranking-System-and-Recognition-Program/m-p/140490#U140490"><font color="#000000"><font size="2">Hero Employee</font></font> </a> MarkDing 修改时间 ‎09-08-2016 03:06 PM

问题

我如何检测设备已经连接到了USB host?

答案

对于自供电的系统, 通常也需要检测VBUS信号的存在. VBUS是用来判别USB设备是否连接到USB host与否的信号.

对于EFM8设备, VBUS信号可以被使能在响应的pin脚上,可以配置为在状态改变时产生系统中断. 可以在寄存器USB0CF寄存器里找到VBUS的控制位. VBUSEN使能VBUS pin作为USB模组的输入. VBUSIE位被使能, 那么在VBUS状态改变的时候, VBUSI就会被置位, 韧件可以读取此位的值来采取相应的动作.

对于C8051的设备, C8051F320C8051F340, 寄存器REG0CN里的VBUS位来表示VBUS信号的逻辑电平. 而且也可以使能VBUS中断,VBUS发生变化时触发中断.