当系统时钟按
SysCtlClockSet(SYSCTL_SYSDIV_1 | SYSCTL_USE_OSC | SYSCTL_OSC_MAIN | SYSCTL_XTAL_8MHZ);
设置时,USB 无法正常通信。若将时钟设置改成:
ROM_SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |
SYSCTL_XTAL_8MHZ);
后,则USB能正常收发数据。
由于程序中涉及到其他外设,故不能修改系统时钟。有没有单独设置USB 模块控制时钟的方法?
Luying Qiang :
可以单独操作寄存器呀。参考芯片手册中有关时钟设置,USB PLL以及系统时钟框图等相关说明,结合相关寄存器操作说明就可以实现单独设置USB的时钟
USB工作时,系统时钟要求25M以上,使能USBPLL就可以了,如楼主所述第一种设置主频为8M,故USB不能正常工作,第二种,系统时钟为50M,故USB能够正常工作.