搜索
bottom↓
回复: 5

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

[复制链接]

出0入0汤圆

发表于 2022-6-2 20:23:31 | 显示全部楼层 |阅读模式
    驱动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拉高了,无时钟信号输出。

    请教是什么原因。

出0入0汤圆

发表于 2022-6-2 20:32:48 | 显示全部楼层
没你这个情况,我用S3驱动lora芯片读写正常,你不会占用得是跟flash同一个spi吧

出0入0汤圆

 楼主| 发表于 2022-6-2 20:48:05 | 显示全部楼层
7073640 发表于 2022-6-2 20:32
没你这个情况,我用S3驱动lora芯片读写正常,你不会占用得是跟flash同一个spi吧
(引用自2楼)

没占用 flash 的 SPI 总线。

出0入0汤圆

发表于 2022-6-2 20:59:30 | 显示全部楼层
是要在menuconfig中配置吧, 手动更改编译会覆盖的。

出0入0汤圆

 楼主| 发表于 2022-6-2 23:47:37 来自手机 | 显示全部楼层
astankvai 发表于 2022-6-2 20:59
是要在menuconfig中配置吧, 手动更改编译会覆盖的。
(引用自4楼)

这里的改动是在应用程序中配置SPI设备。改动前后现象不一样,说明没有被SDKCONFIG覆盖。

出0入0汤圆

 楼主| 发表于 2022-6-7 09:42:28 | 显示全部楼层
ESP32论坛里面有人回复说收发数据时采用配置 .addr = xx 取代 tx_buffer 里面的地址,我试过了,确实可以解决这个问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 09:43

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表