主题中讨论的其他器件: TRF7970A
您好!
我´m Joseba Arguinzoniz。 我在这里提出了有关 TRF7960A 实施的更多问题、感谢您的帮助。 I μ A´m TRF7960A、MCU STM32F101。 我´m´m 代码、我使用建议代码 Sloc251的一部分。 问题是、我不知道 TRF 在初始化之后何时能够检测到标签。 我将执行以下步骤:
int main (空)
{
uint8_t writing[4];
uint8_t 命令[4]
步骤1:打开射频
COMMAN[0]= CHIP_STATE_CONTROL;//0x00
COMMAN[1]= CHIP_STATE_CONTROL;//0x00
Trf796xReadSingle (&command[1]、1);
命令[1]&= 0x3F;
命令[1]|= 0x20;
Trf796xWriteSingle (命令、2);
步骤2:写入 ISO 控制
//Escritura en registro 0x01
写入[0]= ISO_CONTROL;
WRITE[1]= ISO_CONTROL;//0x02
write[1]&= 0xDF;// BIT5 A 0参数建立的 RFID 模式
Trf796xWriteSingle (写入、2);
ISO_CONTROL &= 0x1F;
//Escritura en registro 0x0D
WRITE[0]= IRQ_MASK;
写入[1]= 0x3E;
Trf796xWriteSingle (写入、2);
//Escritura en registro 0x09
// nota:elegir 模量 OOK/ASK (0x21/0x20)
WRITE[0]=调制器控制;
WRITE[1]= 0x31;//// OOK 100% 6.78MHz
Trf796xWriteSingle (写入、2);
//Escritura en registro 0x06
WRITE[0]= TX_PULSE_LENGTH_CONTROL;
写入[1]= 0x80;// 9.44us
Trf796xWriteSingle (写入、2);
//Escritura en registro 0x07
WRITE[0]= RX_NO_RESPONSE_WAIT_TIME;
写入[1]= 0x14;// 755us
Trf796xWriteSingle (写入、2);
//Escritura en registro 0x08
WRITE[0]= RX_WAIT_TIME;
写入[1]= 0x1F;// 293us
Trf796xWriteSingle (写入、2);
//Escritura en registro 0x0A
写入[0]= RX_SPECIAL _SETTINGS;
写入[1]= RX_SPECIAL_SETTINGS;
Trf796xReadSingle (&write[1]、1);
write[1]&= 0x0F;
write[1]|= 0x40;//带通200kHz 至900kHz
Trf796xWriteSingle (写入、2);
//Escritura en registro 0x10
WRITE[0]=特殊函数;
write_1]=特殊函数;
Trf796xReadSingle (&write[1]、1);
write[1]|= 0xEF;//位4 A 0->已建立时间网格
Trf796xWriteSingle (写入、2);
******** 在这里、TRF 应该能够检测到 Tang 并读取标签信息、对吧?
while (1)
{
if (IRQ_STATUS==1)
{
write[1]|= 0x0C;//带通200kHz 至900kHz
Trf796xReadSingle (WRITE、1);
}
}
}
我没有编写更多代码、因为我首先要检测标签。 查看建议的代码 SLOC251、接下来的步骤有三个:
Iso15693Anticollision (&buf[20]、0);//发送库存请求
Trf796xTurnRfOff ();
Trf796xResetIrqStatus();
我不n´t 这些步骤是否必须检测标签、o 仅用于避免可能出现的错误、例如、同时检测两个卡。 这是正确的、还是我应该实现这些功能?
谢谢、我想问您的答案、
Joseba Arginzoniz。