Thu. Aug 27th, 2026

Случи ми се проблем на esp32-c3-supermini, след като закачих MFRC522 модул с ардуино иде и библиотеката MFRC522 весия 1.4.11. След дебуг от страна на ИИ се стигна до заключението, че проблема е в issue, което не е ясно дали е фикснато и кара SPI да зависва за по дълго време и хардруерния watchdog рестартира систамета, тъй като прекъсванията са забранени и тя се бави. Та ИИ предложи да ползвам софтуерен SPI, направим ме го и всичко си тръгна без повече да се случват случайни рестарти, сега ще опиша как да си го фикснете. Модифициран е файла от библиотеката който може да си изтеглите

след като го include в кода, добавяте ето това:

extern void MFRC522_EnableSoftSPI(uint8_t sckPin, uint8_t misoPin, uint8_t mosiPin);

след инициализацията на SPI която при мен изглежда така:

SPI.begin(CUSTOM_SCK, CUSTOM_MISO, CUSTOM_MOSI, SS_1_PIN);  

добавяте този ред:

MFRC522_EnableSoftSPI(CUSTOM_SCK, CUSTOM_MISO, CUSTOM_MOSI); 

кода е така модифицитан, че тя може да си се ползва и със стандарния си синтаксис, който е за хардуерен SPI

By Ven

Leave a Reply