Хочется подключить к ATMega328A беспроводной модуль nRF24L01+, который работает по протоколу SPI, но так, чтобы осталась возможность программирования микроконтроллера. Есть подозрение, что как только я начну подавать команды с программатора беспроводной модуль начнет на них отвечать и микроконтроллер будет запрограммирован неправильно (или вообще не запрограммирован). Правильно ли я понимаю, что чтобы избежать такой проблемы нужно подключить переключатель на пин CE у nRF24L01+ и в тот момент, когда производится операция программирования - принудительно цеплять CE к питанию, тем самым отключая nRF24L01+? Предполагаемая схема подключения такая: .
если не ошибаюсь при подаче сигнала Reset на атмегу (при процессе программирования) все выводы последней переводятся в z состояние. тогда достаточно просто вывод "ce" подтянуть к питанию резистором на 10к. тобишь при процессе программирования атмега отпускает ножку "се" от земли и резистором она сразу тянется к питанию.
насчет z-состояния нужно в даташите посмотреть, либо опытным путем проверить
Посмотрел даташит и что-то не смог найти информации о том, что все ножки переводятся в z-состояние, когда на reset подается 0
Как проверить опытным путем? в программе ничего не инициализирую, замеряю одну из ног - получаю где-то 0.03V, подаю на reset 0, замеряю эту же ногу - получаю те же 0.03V.
проверил на атмега16. при подаче сигнала Reset порты в/в переводятся на ввод с отключением подтягивающих резисторов (аля z-состояние). вольтметром не замерять - наводки. амперметр выручил. при работе МК сделал КЗ амперметром на минус и на плюс (кратковременно) до 85 мА - так и сжечь порт легко. при подаче Reset ток нулевой как на плюс так и на минус
2 khomych, спасибо, так и сделаю пожалуй
2 Mishany не понял, в чем подсказка. Там какая-то странная перемычка: если она не включена, то пин CE просто будет висеть в воздухе и непонятно как поведет себя схема