ch32v307RCT6的USB device例程运行不正常。

项目自己定制的板子,主控ch32v307RCT6,外部晶振为16MHz, 通过USB烧录厂家例程库中USB_FS/DEVICE/CH372Device例程,例程system_ch32v30x.c文件的系统时钟及外部晶振频率已经对应修改过了,

#define HSE_VALUE? ((uint32_t)16000000)

#define SYSCLK_FREQ_96MHz_HSE? 96000000


static void SetSysClockTo96_HSE(void)函数中对应修改如下:

#else

RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSE | RCC_PLLXTPRE_HSE_Div2 | RCC_PLLMULL12_EXTEN);

#endif

初次烧录程序后直接运行,使用CH372调试工具可以读取到设备描述符,通过端点2收发数据也正常,重新复位单片机后,无法读取设备描述符。多次尝试都是首次下载程序时可以正常工作,复位后都无法正常工作,请问是哪些地方配置不正确。

您好,需要保证USBHSCLK=(USBHSPLLSRC/USBHSDIV)

image.png


只有登录才能回复,可以选择微信账号登录