我正在使用STM32L476(带有SW4STM32和STM32CubeMX)用于低功耗应用。我通过微控制器的SDMMC接口(与FatFs)连接SD卡。该接口消耗的电流范围为1mA。因此,我计划在不需要时禁用SDMMC接口。我没有在HAL文档中找到任何API来禁用它。如何禁用SDMMC接口
答案 0 :(得分:0)
SDMMC位于APB2总线上,您可以通过将RCC_APB2ENR
的第10位设置为0来禁用外设的时钟,这在reference manual的处理器的第259页中有说明。
您需要的代码与以下内容类似,具体取决于您使用的库。
RCC->APB2ENR &= ~RCC_APB2ENR_SDMMCEN;
要重新打开它,您需要执行相反操作,将该位设置为1
RCC->APB2ENR |= RCC_APB2ENR_SDMMCEN;
很有可能HAL中有一个功能可以为您完成此功能,但是使用该库并熟悉它的人必须提供帮助。