使用ESP32C3的SPI2的时候,配置SPI接口后,发现SPI接口读取从设备的数据的时候会整体左偏移一bit,
SPI模式为0;
spi_device_interface_config_t devcfg={
.clock_speed_hz=2*1000*1000, //Clock out at 2 MHz
.mode=0, //SPI mode 0
.spics_io_num=-1,//PIN_NUM_CS, //CS pin
.queue_size=7,
}
使用的接收API是spi_device_polling_transmit(spi, t);
DMA通道配置的是SPI_DMA_CH_AUTO
IO配置如下:
MISO------GPIO2
MSOI------GPIO7
SCK--------GPIO6
CS----------GPIO8
比如从设备上发的值是0x00,0x01,0x02,0x04;
但是在芯片读到的值却是0x00,0x02,0x04,0x08;
整体左移了一bit;
请问这个是什么问题,有没有办法解决啊;
同样的代码和配置在ESP32D0WDQ6-V3上使用就没有问题,
ESP32D0WDQ6-V3的IO配置如下:
MISO-------GPIO25
MOSI-------GPIO23
SCK---------GPIO19
CS-----------GPIO22
除了IO配置不一样,其他操作配置代码都一样,
是不是这两款芯片有啥使用上差别,官网上没有找到相关资料,
ESP32C3--SPI2使用问题--ESP-IDF_V4.4
Re: ESP32C3--SPI2使用问题--ESP-IDF_V4.4
Hi ,
我想确认几个问题,
1. 是否只有 SPI2 有问题,又试一下其他 SPI 么?
2. 能否确定是否只有 SPI master 读数据才有左移 1bit 的情况,如果是这样的话,你可以搜索一下 input_delay_ns 这个参数
我想确认几个问题,
1. 是否只有 SPI2 有问题,又试一下其他 SPI 么?
2. 能否确定是否只有 SPI master 读数据才有左移 1bit 的情况,如果是这样的话,你可以搜索一下 input_delay_ns 这个参数
Who is online
Users browsing this forum: No registered users and 100 guests