WINCE对USB HOST供电的控制

上图的USBH_EN(对应于GPG6)是用于对USB HOST供电的,这个需要在BSP中进行控制,可在init.c文件的OEMInit() ->ConfigureGPIO()函数中假如下面的代码:

 

//Ser GPG6 to Output an USBH_EN

s2440IOP->GPGCON        &= ~(3<<12);

s2440IOP->GPGCON        |=  (1<<12);             // output

s2440IOP->GPGUP  |=  (1<<6);               // pullup disable

s2440IOP->GPGDAT         |= (1<<6);                   // GPG6 output High Level to enbale USB HOST

通过上面的代码来开启对USB HOST的供电,当然楼主的BSP包中后面的代码就要保证在执行上面代码之后不能改变GPG6的配置了,否则前面的控制代码将无效。

 

假如没有把GPG6输出为高电平:接入USB鼠标,那么USB鼠标的电源指示灯也会亮(如果是U盘,会一直亮,识别不到U),但是VBUS=3.4V左右。如果把GPG6输出为高电平:接入USB鼠标,那么USB鼠标的电源指示灯会亮(如果是U盘,会先闪烁,然后一直亮,可以正常识别U)VBUS=5V左右,这才是让USB鼠标正常工作的供电电压,楼主要确保这一点。

 

备注:上图是我们产品的设计,你们的产品对USB HOST的电路设计方式不一定一样,我只是为了把问题表达清楚而已,我的CPUS3C2440

 

你可能感兴趣的:(c,工作,产品,WinCE,output)