ESP32S2 SPI 双工模式无法读取数据

Charles_Wen
Posts: 13
Joined: Fri Aug 06, 2021 1:39 am

ESP32S2 SPI 双工模式无法读取数据

Postby Charles_Wen » Thu Jun 02, 2022 11:26 am

驱动RC522 NFC芯片,当目标芯片设置为ESP32时,SPI可正常通信(可读写 RC522 寄存器)。
相同的代码,将目标芯片设置为ESP32S3后,编译出错,报如下错误:
SPI half duplex mode is not supported when both MOSI and MISO phases are enabled

在ESP32-S3的编程指南中找到:
Half-duplex transactions with both read and write phases are not supported. Please use full duplex mode.

于是屏蔽掉 .flags = SPI_DEVICE_HALFDUPLEX

编译通过,通过SPI发送数据正常,但读取数据时,发送完所要读取的寄存器地址后,SPI总线就挂起了,表现为:CS拉高了,无时钟输出。

请教是什么原因。

ESP_Yake
Posts: 109
Joined: Mon Mar 06, 2017 12:23 pm

Re: ESP32S2 SPI 双工模式无法读取数据

Postby ESP_Yake » Mon Jun 06, 2022 1:22 am

一般来说只要能写数据,那么读数据应该也是没问题的。CS 线拉高是一个问题,因为CS低才有效,也许你可以先用逻辑分析仪抓线看一下此时SPI的数据是否正常收发。如果没有的话,可能你的代码写的有问题,SPI 并没有实际发出来。

Who is online

Users browsing this forum: No registered users and 82 guests