Использование TFT с аппаратным SPI и динамиком с tone()
Я хочу создать устройство с TFT-экраном и динамиком, использующим встроенную функцию tone()
. Однако, согласно документации, использование tone()
мешает ШИМ на контактах 3 и 11. В Arduino Uno вывод MOSI по умолчанию установлен на контакте 11, и похоже, что определение другого контакта для MOSI отключает аппаратный SPI, что, согласно странице модуля, замедляет работу устройства. Кроме того, примеры написаны для аппаратного SPI, а SD-карта доступна только с аппаратным SPI. Что мне здесь делать? Есть ли способ переопределить вывод MOSI по умолчанию без отключения аппаратного SPI?
@forthe, 👍0
Обсуждение1 ответ
Лучший ответ:
Вы перекрещиваете провода в своем мозгу и представляете проблему там, где ее нет.
Оба ШИМ на контактах 3 и amp; 11 и tone()
, используйте устройство Timer2. Только один из них может использовать Timer2 одновременно, и они оба хотят использовать его по-разному, поэтому между ними возникает конфликт.
Timer2 не имеет ничего общего с SPI. Таким образом, tone()
не влияет на SPI, а PWM не оказывает никакого влияния на SPI (за исключением того факта, что из контакта 11 в любой момент может выйти только один), поскольку нет внутреннего конфликт ресурсов.
- Как использовать SPI на Arduino?
- OVF в последовательном мониторе вместо данных
- Как отправить строку с подчиненного устройства Arduino с помощью SPI?
- Проблема совместного использования MISO с несколькими RFID-считывателями RC522
- Программирование ведомого SPI для Arduino
- Последовательная связь между несколькими устройствами (или ардуино)
- Максимальная скорость SPI для ведомого Uno/clone?
- SPI.transfer(buffer, size) не отправляет данные из буфера
Это не проблема. Функция тона использует таймер 2, который является тем же таймером, что и при использовании ШИМ для контактов 3 и 11. Функция тона не влияет на контакты 3 и 11, она использует таймер 2 только для программного прерывания для создания тонального сигнала на любом выводе. Функция тона не использует возможности ШИМ микроконтроллера., @Jot
короткая версия: «помехи в ШИМ», а не в SPI, @Juraj