Подключение Saleae Logic 8 к MISO (контакт 12) на Uno 3 с NRF24L01+ останавливает программу
У меня есть NRF24L01+
с базовым модулем (регулирует напряжение), подключенным к Arduino Uno 3. Я использую tmrh20
NRF24
библиотеку и запускаю одну из примеров программ. Я пытаюсь прослушать шину SPI, поэтому у меня подключен Saleae Logic 8. Как только я подключаю зажим к выводу MISO
, программа Arduino перестает выполняться. Я могу воспроизвести это в 100% случаев. Кажется, проблема связана только с контактом MISO
. Для библиотеки, которую я использую, MISO
использует контакт 12
на Uno 3.
Кто-нибудь знает, что происходит? Кажется, что Saleae заземляет контакт 12
, когда я его подключаю. Не знаю, почему проблема возникает только с контактом 12
.
Я могу воспроизвести ту же проблему, когда вручную подключаю контакт 12 напрямую к GND
.
Я прекрасно могу собирать образцы без MISO
, но это, конечно, говорит мне только половину истории.
Есть предложения?
РЕДАКТИРОВАТЬ: Вот несколько ссылок и ресурсов для получения дополнительной информации.
Я в основном следую инструкциям из этой статьи: http://arduino-info.wikispaces.com/Nrf24L01-2.4ghz-HowTo
Секционная доска http://www.addicore.com/1x-nRF24L01-Adapter-p/ad279.htm
И это схематично:
Ссылка на даташит на саму радиостанцию: http://www.nordicsemi.com/eng/Products/2.4ghz-RF/nRF24L01 И немного фото того, как я его подключил:
@Brennan Cheung, 👍2
Обсуждение1 ответ
Из вашего описания следует, что выводы вашего логического анализатора искажают форму сигнала SPI MISO, и Arduino неправильно считывает входящие данные.
Чтобы избежать этого, вы можете разместить цифровой изолятор между Arduino и Logic 8.
Любой приличный осциллограф также должен позволять вам читать шину SPI.
- Как подключить NRF24L01 к Wemos D1 R2
- Изменение портов SPI на Arduino
- Код правильный? Nrf24l01
- Как использовать SPI на Arduino?
- вопрос по трубке nRF24L01
- OVF в последовательном мониторе вместо данных
- Как отправить строку с подчиненного устройства Arduino с помощью SPI?
- Проблема совместного использования MISO с несколькими RFID-считывателями RC522
Не могли бы вы добавить ссылку на модуль NRF24L01+, который вы используете, и возможные схемы? Как подключить заземление к Saleae Logic 8?, @Mikael Patel
Добавлены ссылки. Я подключил несколько заземляющих контактов на Saleae к заземляющей шине на макетной плате (см. фото выше). Земля от Arduino подключена к заземляющей шине на макетной плате., @Brennan Cheung
Анализатор включен? Что считывает этот канал? Попробуйте использовать другой канал. Также посмотрите, какой размер резистора можно подключить между выводом и землей, не нарушая работу - 100 кОм? 10 кОм? 1 кОм? Имейте в виду, что ваш NRF24L01 будет выдавать только около 3,3 В, ATmega при 5 В имеет относительно низкий Vih для 5-вольтовой детали, но не будет такого большого допуска на нагрузку, как при использовании 5-вольтового драйвера., @Chris Stratton
Похоже, проблема с нагрузкой от логического анализатора. Я добавил подтягивающий резистор между 5 В и выводом. Мне все еще нужно иметь резистор между зажимом логического анализатора и выводом, иначе он будет мешать выполнению. Теперь я вижу, что вывод считывается как высокий 100% времени, когда часы не идут, и как низкий 100% времени, когда часы включены. Я не получаю никаких фактических значений для MISO (все время 0x00). Высокий и низкий уровни легко находятся в пределах пороговых уровней логики. Я заказал несколько потенциометров для точной настройки резисторов, чтобы посмотреть, смогу ли я найти значение, которое будет работать. Предложения?, @Brennan Cheung