nodemcu mp3制作——sd卡连接nodemcu(问题+解决方案)

nodemcu mp3制作——sd卡连接nodemcu

接线问题

我也是开始学单片机不久,所以走了不少弯路,从昨晚测试到现在终于成功了,先简单说一下我的心路历程:

  • 我上来就遇到个问题,编译和上传都显示“invalid option stacksmash”,这个可能很少人遇到,我也找不到相关的资料,将由原来的nodemcu1.0换成nodemcu0.9,就可以了(我还不知道具体原因,有这个问题的朋友可以试一下这个办法,或者就是重装arduino,可以解决,如果你知道具体原因,可以在评论区跟大家分享一下)
  • 我之前不是没有尝试过,不过一把sd卡接到nodemcu上,打开串口,就显示"initialization failed",后来我偶然看到了一篇文章,里面说nodemcu的接口跟arduino不太一样,所以不能照着里面来连接。
  • arduino中SD库中给的注释是这样的:
/*
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
*/

但是很明显不符合我们的要求,因为nodemcu压根就没有11口,然后我顺着<SPI.h>一直找到一个叫<common.h>的文件,里面定义了以下的接口,我将他们与nodemcu对上:

/*
 ** MOSI D7
 ** MISO D6
 ** CLK D5
 ** CS D2
 */

这样子把线接好,然后就开始测试

  • 接下来还是出现"initialization failed",我想了一下,就算我改了过来,库文件也还是没有改,所以引脚映射依然还是上面的,不符合nodemcu引脚定义。所以我决定把库文件改动一下
  • 但是一直没有找到怎么改,所以就卡了很久,后来我在youtube上看到一个视频,他打开arduino,然后打开示例程序,里面显示的也是第一种注释,但是他不理睬,直接上传,结果成功了!所以我猜想,这个注释不能信,既然用的是esp8266的库,肯定能支持esp8266,所以程序没问题,应该是硬件方面的问题
  • 我首先想到会不会是我的sd卡模块出了问题,好在我有两块,换了一块还是一样,总不能两块一起出问题吧,所以这个排除掉
  • 然后我又找到一篇文章,说可能是供电问题,所以我拿来个小LED灯接到面包板上,串联个电阻,然后正极接vcc,负极接GND,果然不亮,可能是我用的那个口刚好坏掉了,所以我找了另一个口,小灯泡亮了,所以我用新的vcc口接到sd卡模块上
  • 结果还是一样不成功,在我找不到什么解决办法的情况下,我突然想到会不会是线的问题,所以就用刚才的办法,用测试过可以用的两个口,换不同的线连小灯泡,果然有一条线不能导电
  • 换了一条线,万事具备,sd卡模块成功运作,“initialization done!

小结

这个问题之前困扰我好久,有时候我们没那么幸运,第一次就找到合适的、正确的方向,多试错,多找资料,或许就可以解决。要这个问题解决的过程,最大的收获就是明白控制变量法的重要性!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值