完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
使用esp32 Arduino 环境开发
esp32dev模式 使用硬件SPI进行TF卡通讯时示波器捕获 SDSS MOSI MISO SCK 均使用10K电阻上拉3.3V SCK未通信时为3.3V 通讯时下降到2.8V 通讯后恢复 改变SCK定义引脚 发现部分引脚通讯时会出现电平介于2.8V-3.3V的规则方波 其余三个引脚波形正常 附引脚定义: SD_MOSI 18 SD_MISO 23 SD_SCK 19 SDSS 5 使用之前编译的bin文件发现是可以正常通讯的 波形正常 但使用编译bin文件的源码 在vscode platformIO中编译 发现出现了上述问题 更换电脑安装vscode和platformIO esp32环境编译 发现故障依旧 |
|
相关推荐
1个回答
|
|
从您的描述来看,问题可能与硬件SPI的SCK信号电平有关。以下是一些建议和解决方案,希望能帮助您解决问题:
1. 检查电源:确保ESP32的电源稳定且在3.3V范围内。不稳定的电源可能导致SCK信号电平波动。 2. 检查上拉电阻:您已经使用了10K的上拉电阻,但可以尝试使用不同的电阻值(例如4.7K或2.2K)来观察SCK信号是否稳定。 3. 检查线路:检查SPI信号线(SD_MOSI、SD_MISO、SD_SCK和SDSS)之间的连接是否正确,以及是否有可能存在线路干扰。 4. 检查SPI引脚配置:确保在您的Arduino代码中正确配置了SPI引脚。例如,使用以下代码配置SPI引脚: ```cpp #define SD_SCK 19 #define SD_MISO 23 #define SD_MOSI 18 #define SDSS 5 SPI.begin(SD_SCK, SD_MISO, SD_MOSI); ``` 5. 检查SPI速率:尝试调整SPI速率,以查看是否影响SCK信号电平。例如,使用以下代码设置SPI速率: ```cpp SPI.setFrequency(4000000); // 4MHz ``` 6. 检查代码:检查您的代码,确保没有其他地方可能影响SPI通信。例如,确保没有其他SPI设备共享相同的SPI总线。 7. 检查固件:您提到使用之前编译的bin文件可以正常通信,但使用新的源码编译后出现问题。尝试检查新源码中是否有任何更改可能影响SPI通信。 8. 更新ESP32固件:确保您的ESP32固件是最新的,以避免可能的兼容性问题。 9. 硬件问题:如果以上方法都无法解决问题,可能是ESP32硬件本身存在问题。尝试使用另一块ESP32开发板进行测试。 希望这些建议能帮助您解决问题。如果问题仍然存在,请提供更多详细信息,以便我们能够更好地帮助您。 |
|
|
|
只有小组成员才能发言,加入小组>>
988 浏览 1 评论
553浏览 6评论
463浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
447浏览 5评论
448浏览 4评论
421浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-28 21:06 , Processed in 0.833415 second(s), Total 83, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号