|
發布時間: 2023-5-24 13:56
正文摘要:我用STM32CubeMX生成了一個程序,下到單片機跑仿真時,會在HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)這里面的pllvco = (uint32_t) ((((uint64_t) HSE_VALUE * ((uint64_t) ((RCC->PLLCFGR & ... |
| 這是硬件故障,HSE沒起振,用示波器看下6腳oscout波形。 |
| pllvco = (uint32_t) ((((uint64_t) HSE_VALUE / (uint64_t)pllm) * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))); |
|
UINT64 溢出了, pllvco = (uint32_t) ((((uint64_t) HSE_VALUE / (uint64_t)pllm) * ((uint64_t) ((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))); 這樣就ok |
| 調用別人的函數,先了解一下函數的使用說明。 |
| 應該還是參數配置的問題,用cubemx最簡單的是選晶振源,然后選主頻,之后讓cubemx自己配置 |
| 我繞過PLL直接把外部8M的晶振信號給系統時鐘就可以運行。然后我又在cubemx設置了用HSI,結果是跟HSE一樣,在相同的地方卡住 |
| 檢查你的板子有沒有晶振吧,可能板子上沒晶振,cubemx里面設置了晶振就會出問題。建議先用內部HSI做時鐘源再試試 |
| 調用別人的函數,先了解一下函數的使用說明。 |