NRF24l01 с Atmega 32u4 и внутренними часами
Будет ли nrf24l01 работать с Atmega 32u4, если я использую внутренние часы 32u4, или мне нужен внешний источник часов?
@NewToArduino, 👍0
Обсуждение1 ответ
Лучший ответ:
▲ 1
Вы задаете вопрос «да/нет», на который ответ «да», nRF24L01 в качестве последовательного периферийного устройства будет работать так же, как если бы вы использовали Arduino UNO или любой другой микроконтроллер, при условии, что шина SPI правильно инициализирована.
Как правило, в части setup()
вашего скетча/программы должно быть следующее:
pinMode(CE_pin, OUTPUT);//включение чипа устанавливается как выход
pinMode(CSN_pin, OUTPUT);//чип выбирает пин как выход
pinMode(MOSI_pin, OUTPUT);//вывод данных SPI
pinMode(MISO_pin, INPUT); //данные SPI в
pinMode(SCK_pin, OUTPUT);//тактовый сигнал SPI
digitalWrite(CSN_pin, HIGH);//SPI бездействует
digitalWrite(CE_pin, LOW);
SPI.setBitOrder(MSBFIRST);//Сначала старший бит SPI
SPI.setDataMode(SPI_MODE0);// Mode 0 Нарастающий фронт данных, держите тактовую частоту на низком уровне
SPI.setClockDivider(SPI_CLOCK_DIV2);//запускаем данные на частоте 16 МГц/2 - 8 МГц
SPI.begin();//запуск библиотеки SPI
,
@MichaelT
Смотрите также:
- Есть ли способ получить разрешение таймера 10 нс от процессора AVR?
- вопрос по трубке nRF24L01
- Постоянный выход тактовой частоты Arduino
- Arduino 16 МГц только с 3,3 В?
- В чем разница между ATMEGA32 и ATMEGA328?
- Как подключить NodeMCU к NRF24L01
- Можно ли загрузить скетч Arduino через последовательный порт (RX) вместо USB?
- Что такое контакты XTAL1 и XTAL2 в Arduino Uno/Nano?
Знание интерфейса между nrf24l01+ и Atmega32U4 также является ответом на ваш вопрос. И даже при использовании асинхронного последовательного порта это должно быть возможно (но иногда может быть менее надежным), @KIIV
Подключение к nrf24 через CE, CSN, SCK, MOSI, MISO - у меня nrf24 отлично работает на моем Pro Micro, теперь я пробую его на моей пользовательской печатной плате, где я не использую внешний генератор. Моя пользовательская печатная плата отлично работает в остальном, включая SPI, поскольку у меня есть другое устройство, работающее на SPI. Просто не работает с nrf24., @NewToArduino
И SPI является ** синхронным ** интерфейсом, поэтому есть мастер, отправляющий сигнал «CLK» для синхронизации данных выбранному подчиненному устройству., @KIIV
Исправление, другое мое устройство подключено через I2C, а не через SPI. Но я программирую 32u4 через SPI., @NewToArduino
Без хотя бы схем, тестовых сценариев и так далее (что работает или не работает и где) трудно догадаться., @KIIV
Должно быть все в порядке. I2C и SPI не заботятся о том, на какой скорости работает MCU. Только такие вещи, как UART, иногда требуют более стабильного источника тактовой частоты, например кристалла, вместо внутреннего RC-генератора., @Gerben
Я обнаружил ошибку на моей пользовательской печатной плате, я хотел, чтобы CE был контактом 4, а CSN - контактом 5, но я по ошибке поместил их на контакты 38 и 39 на микросхеме, которые являются A4 и A5. Любая проблема с аналоговыми контактами, такими как CE и CSN?, @NewToArduino