This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] TM4C129XNCZAD:在 TM4C129XNCZAD 上重新初始化 USB

Guru**** 1831610 points
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1115176/tm4c129xnczad-re-initialize-the-usb-on-tm4c129xnczad

器件型号:TM4C129XNCZAD
主题中讨论的其他器件:TM4C123

您好,

是否有办法在不关闭再打开的情况下重新初始化 USB?

谢谢你。

我使用它的方式如下:

#define SYS_CLOCK FREQ 120000000
#define USB_PLL_CLOCK 480000000

void USBCDCD_reinit (void)

   uint32_t ui32PLLRate、g_ui32SysClock;

   G_ui32SysClock = SYS_CLOCK_FREQ;
   ui32PLLRate = USB_PLL_CLOCK;

   STATE = USBCDCD_State_Unconfigured;

   SysCtlPeripheralDisable (SYSCTL_Periph_USB0);
   SysCtlUSBPLLDisable();
   SysCtlDelay (4800000);

   SysCtlUSBPLLEnable();
   SysCtlPeripheralEnable (SYSCTL_Periph_USB0);

   SysCtlDelay (1000000);

   G_ui32SysClock = SYS_CLOCK_FREQ;
   ui32PLLRate = USB_PLL_CLOCK;
   USBDCDFeatureSet (0、USBLIB_Feature_CPUCLK、&g_ui32SysClock);
   USBDCDFeatureSet (0、USBLIB_Feature_USBPLL、&ui32PLLRate);

   USBStackModeSet (0、eUSBModeForceDevice、0);

RAY YANG

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     您上面显示的代码是否适用于您?  我建议在您重新初始化之前、您可以通过调用 SysCtlPeripheralReset (SYSCTL_Periph_USB0)来首先复位 USB 外设。  您不需要调用  SysCtlUSBPLLDisable 和 SysCtlUSBPLLEnable、因为这两个 API 只用于 TM4C123器件。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢你的答复。

    RAY YANG