TI中文支持网
TI专业的中文技术问题搜集分享网站

C5535 USB模块的关断问题

//1、set the ENSUSPM bit of FADDR_POWER register
*((ioport unsigned int *)0x8401) |= 0x0200; //at real case , the ccs will be halt (problem 1)

//2、Set the USB clock stop request bit (USBCLKSTREQ) in the CLKSTOP[1C3AH]
*((ioport unsigned int *)0x1C3A) |= 0x0004;

//3、Wait until the USB acknowledges the clock stop request by polling the USB clock stop acknowledge bit
//(USBCLKSTPACK) in the CLKSTOP register.
while(0 == ((*((ioport unsigned int *)0x1C3A)) & 0x0008)){} // stop here

//4、Disable the USB peripheral clock by setting USBCG = 1 in the peripheral clock gating control register 2
//(PCGCR2)[1C03h].

*((ioport unsigned int *)0x1C03) |= 0x0004;

//5. Disable the USB oscillator by setting USBOSCDIS = 1 in the USB system control register (USBSCR)[1C32].
*((ioport unsigned int *)0x1C32) |= 0x0004;

系统reset后, 程序会停在检测USB停止请求循环中无法跳出。 不知如何解决? 请赐教!

while(0 == ((*((ioport unsigned int *)0x1C3A)) & 0x0008)){} // stop here

sadh zhang:

造成的情况是系统在12.688Mhz 主频下电流超过了25mA!

Tony Tang:

回复 sadh zhang:

C55是小端的,好像bit位搞错了,试一下:CSL_USB_REGS->FADDR_POWER |= 0x0002

赞(0)
未经允许不得转载:TI中文支持网 » C5535 USB模块的关断问题
分享到: 更多 (0)