首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MCP3464 Micropython

MCP3464 Micropython
EN

Stack Overflow用户
提问于 2022-05-08 14:16:07
回答 1查看 77关注 0票数 0

我想用ESP32读取MCP 3464的转换结果,我可以读取寄存器和写寄存器。但是,当我想读取转换结果时,结果总是相同的: b'\x00\x00‘

代码语言:javascript
复制
from machine import Pin, SPI, SoftSPI
from time import sleep_ms

sck = Pin(18, Pin.OUT)
mosi = Pin(23, Pin.OUT)
miso = Pin(19, Pin.IN)
cs = Pin(17, Pin.OUT)

cs.value(1)
spi = SoftSPI(baudrate=400000, polarity=0, phase=0, sck=sck, mosi=mosi, miso=miso)
spi.init()


def lecture():
    #lecture
    cs.value(0)
    spi.write(b'\x41')
    val = spi.read(2)
    print(val)
    cs.value(1)

lecture()

这是我读取时不同寄存器的配置。

代码语言:javascript
复制
CONFIG0 : b'\xc0'
CONFIG1 : b'\x0c'
CONFIG2 : b'\x8b'
CONFIG3 : b'\x00'
IRQ : b'ss' 

当我用一个示波器读取这个值时,我发现: 01110011

代码语言:javascript
复制
MUX : b'\x01'
SCAN : b'\x00\x00\x00'
TIMER : b'\x00\x00\x00'
OFFSETCALL : b'\x00\x00\x00'
GAINCAL : b'\x80\x00\x00'
RESERVED : b'\x90\x00\x00'
RESERVED : b'PPP'
LOCK : b'\xa5'
RESERVED : b'\x00\x0b'
CRCCFG : b'\x00\x00'
EN

回答 1

Stack Overflow用户

发布于 2022-05-17 18:24:08

您考虑过使用支持更快传输速率的ESP32 Hardware.SPI总线吗?特别是当您使用用于ESP32硬件SPI总线2的最佳引脚时。

此外,根据传感器的不同,传感器通常需要一段时间才能读取、转换和返回SPI总线上请求的数据。数据表应该告诉您所需的最小时间,但是对于初始调试,要从time.sleep_ms(100)或类似的大量延迟开始。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72161867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档