NRF24L01 и ATmega8
- Сообщения: 10
- Зарегистрирован: Вт мар 04, 2025 21:39:09
- Реклама
- Сообщения: 1492
- Зарегистрирован: Ср июн 25, 2008 15:19:44
[uquote="Daniil4829",url="/forum/viewtopic.php?p=4691681#p4691681"]Все выходные убил на эти мудули, а они все не как не работают
[/uquote]
Всё расписано для полного понимания... https://datagor.ru/microcontrollers/mic ... -seti.html
Всё расписано для полного понимания... https://datagor.ru/microcontrollers/mic ... -seti.html
- Сообщения: 1431
- Зарегистрирован: Вт июн 07, 2011 08:03:18
Да, тяжело при 2-х неизвестных. В Ардуино хотя бы куча примеров. Рабочих. А тогда только с железом разбирайся, которое можно подкинуть другое.
Обычно писал один софт. Приёмник или передатчик определялся джампером. А если куча ведомых приёмников, их номерами.
Обычно писал один софт. Приёмник или передатчик определялся джампером. А если куча ведомых приёмников, их номерами.
[uquote="Daniil4829",url="/forum/viewtopic.php?p=4691681#p4691681"]У меня тактовая частота указана 1мГц, а в SPI она ещë и на пополам делится, думаю, может частота маленькая слишком? Если нет, остается грешить только на питание..[/uquote]
тактовая частота в SPI не может быть маленькая...
она может быть только большой... но не маленькой))
SPI использует синхронную передачу. Это значит что мы можем передавать по SPI хоть по одному биту в час ! ))
грешить лучше на ошибку в коде...
не те регистры... не в той последовательности... не те тайминги... не те настройки пинов... и т.д.
тактовая частота в SPI не может быть маленькая...
она может быть только большой... но не маленькой))
SPI использует синхронную передачу. Это значит что мы можем передавать по SPI хоть по одному биту в час ! ))
грешить лучше на ошибку в коде...
не те регистры... не в той последовательности... не те тайминги... не те настройки пинов... и т.д.
- Реклама
- Сообщения: 10
- Зарегистрирован: Вт мар 04, 2025 21:39:09
Они таки завелись!
Не знаю точно что помогло, но я добавил паузы в 10мкс между записями в регистры; сделал отдельное питание через AMS1117 + два электролита на 10 и 100мкф; изменил частоту на 8мГц. Работает стабильно, но несовсем так как задумывалось, но это все поправимо в коде. Спасибо всем за помощь
Не знаю точно что помогло, но я добавил паузы в 10мкс между записями в регистры; сделал отдельное питание через AMS1117 + два электролита на 10 и 100мкф; изменил частоту на 8мГц. Работает стабильно, но несовсем так как задумывалось, но это все поправимо в коде. Спасибо всем за помощь
- Сообщения: 1492
- Зарегистрирован: Ср июн 25, 2008 15:19:44
О как. Временные параметры. Точно. Я то об этом знаю. Смотри. В даташите это указано. Есть параметр на время после подачи питания на модуль, включения. И параметры задержек для подачи команд.
Как пример, могу привести символьный дисплей. Его параметр после подачи питания примерно 20-40 мс. Только после этой задержки можно отправлять команды дисплею. Этот параметр есть у многих модулей. Пусть хоть дисплей, трансмиттер и так далее. Даже мс сенсорных кнопок требуют задержку. Так как при включении у них идёт внутренняя настройка.
Как пример, могу привести символьный дисплей. Его параметр после подачи питания примерно 20-40 мс. Только после этой задержки можно отправлять команды дисплею. Этот параметр есть у многих модулей. Пусть хоть дисплей, трансмиттер и так далее. Даже мс сенсорных кнопок требуют задержку. Так как при включении у них идёт внутренняя настройка.
для передачи команд NRF24L01 задержки не нужны...
я так понимаю причину вы так и не выяснили...
я так понимаю причину вы так и не выяснили...


