Конфликтующие контакты между библиотекой PCM и динамиком и NRF24L01
Библиотека PCM использует вывод pin 11, а NRF24L01 также использует pin 11. Я использую Arduino nano и не знаю, есть ли способ изменить контакты динамика или приемопередатчика. https://github.com/damellis/PCM
@Epicmania, 👍0
1 ответ
▲ 1
Нет, вы не можете просто поменять контакты. Обе системы используют аппаратное обеспечение, специфичное для вывода 11.
Лучшее, чего вы могли бы достичь, - это использовать программную реализацию SPI на других выводах для управления nRF24L01, но это означало бы изменения в библиотеке, которую вы используете, чтобы удалить использование библиотеки SPI и заменить ее вашей собственной программной реализацией SPI.
,
@Majenko
Смотрите также:
- Почему номера выводов диаграмм и кода отличаются друг от друга?
- Arduino Nano использует контакты SPI в качестве контактов ввода-вывода? а еще можно сделать ISP?
- Почему некоторые контакты Arduino Nano (D3, D4, A3, A4, A6, A7) не могут быть установлены на высокий уровень?
- Цифровые входные контакты на arduino nano со стандартными firmata и pyfirmata всегда «Нет»
- Выход 3,3 В при установке вывода на высокий уровень
- Невозможно использовать аналоговые контакты в качестве цифровых входов
- Почему пример Arduino Tone с динамиком 8 Ом приводит к сбою USB-порта?
- Библиотека PCM не работает на Arduino Nano
Значит ли это, что это в принципе невозможно?, @Epicmania
Нет ничего невозможного, просто много работы, и результаты будут не такими быстрыми, как при аппаратном SPI., @Majenko
О:(. Нет ли способа отредактировать библиотеку PCM, чтобы использовать другой вывод? Что делает вывод 11 таким особенным?, @Epicmania
Он жестко подключен к определенному таймеру для генерации ШИМ-сигнала. Вы * могли бы * переписать библиотеку PCM, чтобы использовать разные таймеры и связанные с ними контакты, но это было бы * больше * работы и гораздо труднее понять., @Majenko
Возможно, я ошибаюсь, но разве вывод 11 в библиотеке PCM не был также контактом 3? Так можно ли его изменить на это?, @Epicmania
Я недостаточно знаю об AVR PWM. Это может быть возможно, если вы сможете разработать настройки регистра, для чего вам придется обратиться к спецификации чипа AVR. Лично я бы даже не стал рассматривать возможность создания звука на маленьком 8-битном Arduino. Выберите 32-битный MCU с I2S, если вам нужно сделать что-то большее, чем звуковой сигнал., @Majenko
Я просто играю короткий 2-секундный аудиофайл., @Epicmania
@Epicmania, вы можете попробовать заменить OCR1A на OCR1B в PCM.cpp (и OCIE1A с OCIE1B) использовать вывод 3. не меняйте другие 1A /1B, @Juraj
спасибо, я пытался изменить его, но я изменил гораздо больше (TCR2A на TCR2B), я попробую это только с этими изменениями., @Epicmania
Это не сработало :(, @Epicmania