nrf24l01 + RC522 Программа зависает
- Войдите на сайт для отправки комментариев
Сб, 27/08/2016 - 11:56
Подскажите пожалуйста, голову сломал уже. Подключаю nrf-ку и RFID сканер по SPI. Как только код доходит до radio.write программа зависает. Пробовал вручную выставлять SS в LOW/HIGH всё равно не помогает.
Использую либы MFRC522.h и RF24.h
Я в отчаяние... проект под угрозой, выручайте пожалуйста (((
#include <SPI.h> #include <MFRC522.h> #include <RF24.h> #define RST_PIN 9 #define RFID_SS_PIN 10 #define RF24_CSN_PIN 7 #define RF24_SS_PIN 8 MFRC522 mfrc522(RFID_SS_PIN, RST_PIN); // Create MFRC522 instance RF24 radio(RF24_SS_PIN, RF24_CSN_PIN); const uint64_t pipe = 0xE8E8F0F0E1LL; byte sensorVal[1] = {5}; void setup() { Serial.begin(9600); // Initialize serial communications with the PC SPI.begin(); // Init SPI bus mfrc522.PCD_Init(); // Init MFRC522 radio.begin(); radio.setDataRate(RF24_250KBPS); radio.openWritingPipe(pipe); } void loop() { sensorVal[0] = getID(); Serial.println(sensorVal[0]); Serial.println("---"); radio.write(sensorVal, 1); delay(500); } int getID() { // Getting ready for Reading PICCs if ( ! mfrc522.PICC_IsNewCardPresent()) { //If a new PICC placed to RFID reader continue return 0; } if ( ! mfrc522.PICC_ReadCardSerial()) { //Since a PICC placed get Serial and continue return 0; } // There are Mifare PICCs which have 4 byte or 7 byte UID care if you use 7 byte PICC Serial.println("Scanned PICC's UID:"); for (int i = 0; i < mfrc522.uid.size; i++) { // Serial.print(mfrc522.uid.uidByte[i], HEX); } Serial.println(""); mfrc522.PICC_HaltA(); // Stop reading return 1; }
> Пробовал вручную выставлять SS в LOW/HIGH всё равно не помогает.
Посмотри код бибилиотек на предмет дёганья ChipEnable (CE) в функцих. Для nRF24 такое вроде есть, а вот для твоего девайса хз.
По ссылке https://github.com/maniacbug/RF24 в примерах есть вывод информации о передатчике в начале программы.
[Цитата=Zhenya1511]
Подскажите пожалуйста, голову сломал уже. Подключаю ФНО-ку и технологии RFID сканер по СИО. Как только код доходит до радио.записи программа зависает. Пробовал вручную выставлять СС в низкий/высокий всё равно не помогает.
Использую либы MFRC522.ч и RF24.сек
Я в отчаяние... проект под угрозой, выручайте пожалуйста (((
[/Цитата]
Если вы решили проблемму поделитесь, т.к. нашел в библиотеке RC522 недостаток, при быстром приложении карт она зависает, и больше не востанавливатся. Ед. вариант выключение питания..косяк какой..кто то может что то сказать.
wu4k@mail.ru, WatchDog тебе в помощь.
Но это не дело). Вы знаете какой интересный признак, т.е. RC522 прочитывает карту 1 раз, а 2 раз читать уже не хочет. Вылетает на методах
В итоге кто нибудь подружил NRF24 и RC522?
У меня получилось один раз считывает и зависает...
Может кто делал подобное?Подскажите куда копать???