Проверил код на ATtmega168P, ATtmega168А, ATtmega8А – не работает! А вот на ATtmega328P – работает только в путь!
Причину так и не нашёл.
Алгоритм передатчика модулем связи nRF24L01: При подаче питания проверяется наличие модуля nRF24L01 на шине SPI. Проверка производится чтением регистра SETUP-AW по адресу $03. Если прочитанное значение соответствует $03 (значение по умолчанию), то считается что модуль подключен. При этом моргнёт красный светодиод, сигнализируя о подаче питания (если модуль не подключен, то поочерёдно будут зажигаться и тухнуть все три светодиода). После проверки модуля на шине производится установка необходимых значений в регистры модуля.
Далее по нажатию кнопки производится отправка байта в «космос»… нажатие кнопки сигнализирует красный светодиод… если после отправки байта получено из «космоса» подтверждение о приёме, то один раз моргнёт зелёный светодиод. Если ответа нет зелёный светодиод будет многократно моргать… моргание жёлтого светодиода сигнализирует о неверном значении в регистре CONFIG модуля.
ATtmega48P_nRF24L01.zip [42.6 КБ]
Скачиваний: 1300