在CubeMX 如果配置了RTC 和SD 卡, FATFS , 则 “__HAL_SD_ENABLE(hsd);” 执行失败, SDI 时钟控制寄存器 (SDIO_CLKCR->CLKEN ) 位不能写入!
并且在时钟系统初始化时总是产生“超时”错误!
原因未知!
经反复测试同样的文件读写程序,如果不用RTC 模块则读写正常,用RTC 就不能工作,折腾2天发现:
问题不是出在RTC 软件,而是RTC的32.768KHZ石英震荡电路不起震导致,改用内部RC 时钟源,一切功能OK .
STM32 的低速晶振电路有问题,网上早有讨论,这是一个旧疾,今天让我撞上!