ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
23 апреля
827175 Топик полностью
Лагунов (26.03.2018 12:50, просмотров: 184) ответил Petrovich на Я ж и говорил вчера про селект нужен. Антиколлизия(0х93) потом селект(с тем же 0х93). Селект нужен всегда, и при 4байтовом SNR. Если возврат норм и видишь каскадный код 0х88, то берешь 3 байта и Антиколлизия(0х95) потом селект(0х95). Если опять
Вот какие странные дела. У меня были какие-то странные провалы в чтении номера карты и раньше с 4-байтными номерами. И вот я воодушевленный фразой - "Селект нужен всегда, и при 4байтовом SNR" решил его ставить ставить всегда после антиколлизии. При 7-байтовом проблем не появилось. после антиколл1 селект и после антиколл2 селект. Всё нормально. Но вот если карта 4-байтовая и ставлю селект после антиколл1, то нормально только при первом чтении карты. При повторном опросе карту не видит. Вот как выглядит стандартная ф-ия проверки карты. Закоментирован селект, которого и не было раньше. Без него всё нормально. TM_MFRC522_Status_t TM_MFRC522_Check(uint8_t* id) { TM_MFRC522_Status_t status; //Find cards, return card type status = TM_MFRC522_Request(PICC_REQIDL, id); if (status == MI_OK) { //Card detected //Anti-collision, return card serial number 4 bytes status = TM_MFRC522_Anticoll(id); memcpy(DBLID, id, 4); if(DBLID[0]==0x88) { TM_MFRC522_SelectTag(id); status = TM_MFRC522_Anticoll2(id); } // TM_MFRC522_SelectTag(id); } TM_MFRC522_Halt(); //Command card into hibernation return status; }