OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 285|回复: 1

imx6ull-alpha驱动RC522模块时读寄存器结果总是0x00

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2022-3-19
在线时间
21 小时
发表于 2025-9-9 22:38:51 | 显示全部楼层 |阅读模式
20金钱
在使用imx6ull-alpha开发板驱动RC522模块时,经过复位后调用读寄存器函数时,返回值始终是 0x00,尝试过读版本号寄存器,结果依旧是0x00。使用逻辑分析仪抓波形,结果是没问题的,片选信号在读寄存器是的读写操作之间也是持续的低电平。
已经被这个问题困扰很久了,跪求各位大佬指点!

硬件环境:
通信协议:SPI
引脚(都是板子上的引出IO口):
    UART2_TXD->GPIO1_IO20(软件片选)
    UART2_RXD->ECSPI3_SCLK
    UART2_CTS->ESCPI3_MOSI
    UART2_RTS->ECSPI3_MISO
    复位:GPIO1_IO00->GPIO1_IO00
内核:教程中恩智浦官方内核

rc522.zip

31.08 KB, 下载次数: 0

驱动代码和设备树

回复

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
32
金钱
32
注册时间
2022-3-19
在线时间
21 小时
 楼主| 发表于 4 天前 | 显示全部楼层
破案了,分享下解决的过程。
原来是rc522模块和icm20608共用了一根cs线,从而当cs拉低时同时选中了两个从设备,所以另外找了一个io口手动控制片选,并把设备树中的cs-gpios屏蔽了;
但后面发现还是不行,原来是被逻辑分析仪欺骗了,分析仪显示cs线一直都是高电平,但我用杜邦线将其连到电源端时(也就是拉高cs线)竟然就读到了版本号寄存器,说明cs线可能是低电平(至少不是高电平)。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-10-26 02:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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