我正在尝试使用PN532(NFC控制器)。最近,我的SPI通讯中有些东西已关闭。我通过要求firmewareversion(D4 02)开始通信。接下来我尝试设置SAM-Config。但是PN532不会给出ACK或响应。
我观察到的是这个。 (全部以十六进制)
GetFirmewareversion --- ACK<br>
MOSI: 01 00 00 FF 02 FE D4 02 2A 00 --- 02 00 03 00 00 00 00 00 00<br>
MISO: 00 FF FF FF FF FF FF FF FF FF --- FF 01 01 00 00 FF 00 FF 00
Receive Firmewareversion after ACK<br>
MOSI: 02 00 03 00 00 00 00 00 00 00 00 00 00 00 00<br>
MISO: 00 01 01 00 FF 06 FA D5 03 32 01 06 07 E8 00
Set SAMConfig --- see if ready(endless)<br>
MOSI: 01 00 00 FF 05 FB D4 14 01 14 01 02 00 --- 02 00 --- 02 00 --- 02 00<br>
MISO: AA AA AA AA AA AA AA AA AA FF FF FF FF --- FF 00 --- 00 00 --- 00 00
当我编写我的getFiremware时,他会响应0xFF,但是当我尝试设置SAM时,他总是以0xAA响应。他也从不回复对setSAMConfig的确认或回复。
我的错误在哪里?来自哪里?怎么解决? THX提前。
答案 0 :(得分:1)
在断言PN532芯片选择后插入一些延迟。
有同样的问题,这对我有用:
void pn532_select (void)
{
FIO2CLR = PN532_CS; // assert CS
msleep (1); // relax a bit
}