我一直在尝试使用STM32F3DISCOVERY板作为基础开发USB HID设备,并使用STM32CubeMX和HAL库生成我的项目。
我已使用12MHz外部晶体振荡器按照《用户手册UM1570》第6.10.1节的要求焊接了外部晶体。
配置了我的系统时钟后,STM32CubeMX会生成以下行以进行振荡器初始化:
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE;
RCC_OscInitStruct.HSEState = RCC_HSE_ON;
RCC_OscInitStruct.HSEPredivValue = RCC_HSE_PREDIV_DIV1;
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE;
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6;
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
我的项目是在Atollic TrueStudio中构建的,并使用ST-LINK界面进行了上传和调试。我没有更改项目或调试的任何默认配置设置。调试时,将调用错误处理程序。
我在此阶段的假设是,由于需要为主板上的STM32F3VC器件提供时钟的HSE旁路,所以无法实现时钟配置,原因是我不了解。闪烁后,与USB ST-LINK接口相对,连接到USB User时,我的计算机无法识别该设备,因此我的进一步假设是时钟配置错误和缺少USB User Interface相互链接。
有人知道我的思维错误可能在哪里吗?