This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TRF7963 读取0x0C时老是返回0x80,读取后不能清空,怎么解决?

在使用stm32给TRF7963对14443A协议卡防撞设计时时候,遇到一个问题,

前面的初始化都成功,发送RTQA后读0X0C寄存器,返回IRQ状态0XC0

但是在做防撞设计时候,发送

01 88 8F 90 3D 00 20 93 20

然后就一直没有中断,等了100ms都没有中断

然后读0X0C寄存器,返回值是0X80,是什么导致TRF7963不能回读UID的?

我确认卡是好的

在官方常见问题表上有描述,但是并没有写可能是哪方面的问题

The typical cause for this issue is that the interrupt for the TX complete event (IRQ status = 0x80) is not serviced quickly enough. This can either be an issue with priority of the interrupt or MCU clock speed. Ensure that the IRQ interrupt is serviced correctly and that the FIFO is reset with the direct command 0x0F after receiving the TX complete event. When done correctly, then the interrupt for either the RX complete event (IRQ status = 0x40) or the RX in progress event (IRQ status = 0x60) should be correctly received.

按照他提供的方法,清空FIFO(8F),然后再读0C,还是0x08,大家支支招,提供下思路,这个问题已经搞了2周了

另外补充一下,能读取ATQA,返回值是0X44,证明是硬件是通的,能够读取卡的返回数据,但是发送93 20的时候,IRQ返回的就是0x80,强行读取FIFO时候,全部都是93 93 93……