【Maixduino】eps32 read adc failed 解决办法
# 【Maixduino】eps32 read adc failed 解决办法

##前言
最近做项目需要用到maixduino中的模拟引脚,但是下载了[官方例程](https://github.com/sipeed/MaixPy_scripts/blob/master/network/demo_esp32_read_adc.py)显示报错:

查找阅了[相关资料](https://github.com/sipeed/MaixPy/issues/148)可能是esp32 固件与k210固件不兼容问题。重新刷新一下固件就可以解决了。
## 准备阶段
[下载kflash_gui](https://github.com/sipeed/kflash_gui/releases)
[下载flash_download_tools](https://www.espressif.com/zh-hans/support/download/other-tools)
[下载特定的固件](https://github.com/sipeed/MaixPy/files/3514633/fixed_adc_fw.tar.gz)
## 步骤
一、请使用kflash工具烧录下载后解开的mainxpy.bin:

二、接着再使用flash_download_tools将下载解开的NINA_W102-1.3.1.bin烧录到MaixDuino上一个ESP32:

**注意:这里的com口要和之前刷入maixpy固件的com不同**
完成后,就可以使用以下程式测试ADC(MaixDuino的K210芯片和ESP32之间使用SPI传输资料,相关接脚可参考电路图)

```python
import network
import utime
from Maix import GPIO
from fpioa_manager import *
#iomap at MaixDuino
fm.register(25,fm.fpioa.GPIOHS10)#cs
fm.register(8,fm.fpioa.GPIOHS11)#rst
fm.register(9,fm.fpioa.GPIOHS12)#rdy
fm.register(28,fm.fpioa.GPIOHS13)#mosi
fm.register(26,fm.fpioa.GPIOHS14)#miso
fm.register(27,fm.fpioa.GPIOHS15)#sclk
nic = network.ESP32_SPI(cs=fm.fpioa.GPIOHS10,rst=fm.fpioa.GPIOHS11,rdy=fm.fpioa.GPIOHS12,
mosi=fm.fpioa.GPIOHS13,miso=fm.fpioa.GPIOHS14,sclk=fm.fpioa.GPIOHS15)
# get ADC0 ADC1 ADC2
adc = nic.adc( (0,1,2) )
print(adc)
while True:
try:
# get ADC0~5
adc = nic.adc()
except Exception as e:
print(e)
continue
for v in adc:
print("%04d" %(v), end=" ")
print()
utime.sleep_ms(50)
```
测试结果:

## 总结
这样问题就解决了,更多教程案例欢迎关注个人博客:(https://www.hockel.club/) 我烧录ESP32时一直是等待上电同步的界面,请问如何操作?
页:
[1]