原因分析:
这个现象是由于单片机在初始化过程中,D12脚处于未初始化的状态,而SD卡相关电路通过一个10K电阻,外部上拉了此引脚,造成此引脚变为高电平。而这个引脚刚好为电机驱动的PWM引脚,所以在引脚未初始化的时候,电机会疯转。而当程序运行起来,引脚初始化为输出功能后,才可以正常控制电机。
解决方案:
由于此问题是由硬件造成的,且去掉SD卡CMD与D0引脚上的上拉电阻,并不会影响到SD卡的功能。所以我们可以通过修改核心板硬件的方式,从源头上解决此问题。而不同版本的RT1064核心板,这两颗上拉电阻的位置并不相同。下文将介绍如何修改。
去掉这两个电阻的影响:
去掉这两颗外部上拉电阻,暂时未发现任何异常,SD卡依然可以正常进行读写,并运行到高速模式。