Doporučuji jezdit NFC pidianténkou po mobilu. Také jsem s tím chvíli zápasil - anténa tagu je maličká, čili musí být přesně nad anténou v mobilu.
Jinak koukám, že NFC tu zatím prakticky nikdo neřeší a SDK má naimplementované jen základní funkce pro NDEF, tak se chci zeptat, jestli si někdo nehraje s implementací ukládání dat do té integrované SRAM namísto EEPROM a zároveň FD interruptu alespoň pro primitivní detekci, že někdo tag čte.
Ahoj,
kdysi jsem si stím hrál, v rámci bc-bridge do sdk pro core modul koukam se preneslo jen par veci zde sem nasel starsi kod a ta ram tam je. Interapt sem nezkousel. bc_tag_nfc.c (16.0 KB) bc_tag_nfc.h.txt (2.0 KB)
h file sem musel pridelat .txt aby se dal uplodnout.
Ahoj Jakube,
déky za skvělý článek. Nadchl mě a podíval jsem se víc tomu čipu pod pokličku.
Vypadá to, že signál FD není na NFC Tagu dobře zapojený a je třeba drobná HW úprava. Při návrhu tagu jsme špatně pochopili úroveň aktivního signálu a v datasheetu je přesně opačná.
Ode dneška všechny objednané “NFC Tag” už budou mít tuto hardwarovou opravu.
Oprava se provede odstraněním tranzistoru Q2 a propojením dvou padů. Poté již při detekci pole čip stáhne signál FD, který je vlastně na I2C signálem INT. Nezapomeň v Core aktivovat interní pull-up, zatím INT v SDK nepoužíváme. V bc_gpio bohužel pin INT (zatím) nemáme, takže to bude třeba přes registry http://sdk.bigclown.com/group__bc__gpio.html
Aha a já si říkal, proč mi to nefunguje a proč je tam asi ten tranzistůrek :-). Super, dík! A když už jsi udělal BC_GPIO_INT, nechceš ještě pro klid v duši dopsat alias BC_EXTI_LINE_INT? To je teď BC_EXTI_LINE_PC13, že?