radio.available() возвращает true
- Войдите на сайт для отправки комментариев
Добрый день. Требуется помощь. В программе задействованны библиотеки RF24.h и библиотека Wiegand.h(функци которой основанны на работе с прерываниями). Проблема заключается в том, что при срабатывании инструкций из библиотеки Wiegand.h(например функция wg.available() принимает истинное значение и выполняется получение идентификатора ключа) функция radio.available() начинает возвращать значение true и следовательно radio.read() заносит пустоту в массив. Примечательно, что при инициализации и незадействованных функциях Wiegand'а все работает как по нотам, массив и я успешно его разбираю, такая же ситуация наблюдается и с програмным ресетом(возвращением указателя стека на нулевой адрес). Попытки исправить ситуацию:
*вызов deathInterrupt() - radio.available() работает корректно, возвращает true, когда посылаешь данные, естейственно не работает Wiegand
*заключение radio.available() между noItterrupts(); и interrupts(); - по прежднему возврат true при каждом проходе цикла loop();
*заключение radio.available() между cli() и sei() - по прежднему возврат true при каждом проходе цикла loop();
arduino UNO