如何在不使用下拉电阻浪费电流的情况下使SPI SCK线空闲至低电平?

问题描述

我正在使用STM32L475 MCU,并且正在使用SPI与SD卡通信。

当我配置SPI SCK GPIO引脚时,我将其配置为PushPull模式下的备用功能SPI。我将ClockPolarity设置为空闲低,这使我认为SCK线在不活动时将保持为低,但事实并非如此。取而代之的是,SCK线空闲为高电平,直到SPI通信开始。这意味着,如果我执行SPI写和随后的读取操作,则会触发额外的时钟脉冲,从而中断我的通信。

我发现能够解决此问题的唯一方法是进一步配置GPIO引脚以使其具有下拉电阻,但是在我看来,这似乎在电流消耗方面是浪费的。将引脚配置为漏极开路也不能解决问题,因为无论如何我都需要添加上拉电阻。最后,我尝试写入SCK引脚的GPIO引脚的输出寄存器并将其设置为低电平,但这并没有任何改变。

在我看来,我唯一的选择是在下拉电阻上放置一个下拉电阻并不断浪费电流,以使SCK线保持低电平。我想知道这是否是人们用于SPI通信的常规解决方案?我无法想象是这样。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)