在CubeMX 如果配置了RTC 和SD 卡, FATFS , 則 “__HAL_SD_ENABLE(hsd);” 執行失敗, SDI 時鐘控制寄存器 (SDIO_CLKCR->CLKEN ) 位不能寫入!
並且在時鐘系統初始化時總是產生“超時”錯誤!
原因未知!
經反覆測試同樣的文件讀寫程序,如果不用RTC 模塊則讀寫正常,用RTC 就不能工作,折騰2天發現:
問題不是出在RTC 軟件,而是RTC的32.768KHZ石英震盪電路不起震導致,改用內部RC 時鐘源,一切功能OK .
STM32 的低速晶振電路有問題,網上早有討論,這是一箇舊疾,今天讓我撞上!