求助!SPI的CS片选信号不正常!
现在用RK3288连RC522读卡器模块。在单片机上,一切正常。连接到RK3288上后,发现RK3288的CS片选信号和RC522读卡器模块有点不兼容。
具体症状是:
SPI的4根数据线连上,通过SPI发送数据到RC522,RC522无正确响应。
如果把RC522的CS片选信号直接连地,就是一直选中RC522。这时,通过RK3288的SPI端口发送数据,RC522就返回数据。可以正确读取到RC522指定寄存器的数据。
但是因为RC522每接收完一个指令后,只响应相同的指令,其他指令不会响应。通过测试,必须把CS脚置高再置低,RC522才会响应其他指令。所以进行数据传输时,CS脚必须连入SPI总线。
RK3288驱动使用的是kernel\drivers\spi\spidev.c
CS脚接上LED,LED会闪烁,说明CS也是有输出的。
因为没有示波器,无法观察输出波形。现在感觉是CS的输出时序有点问题。
通讯是双方的事情来的,正常来说spi的通讯在发送数据时会使能片选有效,发完后片选使能无效。无正确反应你得看下接受方那边是怎样判断。不返回数据你看下是不是接受端的处理速度问题还是什么的。 换个GPIO 当CS
页:
[1]