Переназначить функции SPI на контакты Arduino Zero по умолчанию с помощью программного обеспечения?
Я просматриваю документацию по Arduino Zero и немного запутался.
Это указывает на то, что контакты 13, 12 и 11 могут использоваться для CIPO, COPI и SCK, но использование SPI.begin()
помещает сигналы на 6-контактную распиновку SPI заголовка, которая имеет смысл, поскольку он предназначен для SPI.
Есть ли способ переключиться на цифровые контакты с помощью кода C? Или мне нужно редактировать заголовочные файлы? Мы используем другую плату, которая может подключаться только к цифровым контактам.
@eramirez2024, 👍2
Обсуждение1 ответ
РЕДАКТИРОВАТЬ: возможно неверный ответ ниже, см. комментарии.
К сожалению, насколько мне известно, Arduino Zero не поддерживает переназначение контактов SPI. Многие другие современные платы, такие как ESP8266/ESP32, но не Zero, по крайней мере, насколько я могу судить.
Очень жаль, если это так. Зачем им указывать параметры SPI на цифровых выводах в документации? Или он просто устарел? https://docs.arduino.cc/static/b1fbc77f1b73dcd9ac379af596e3472e/ABX00003-full-pinout.pdf, @eramirez2024
@ eramirez2024 eramirez2024 То, что его нельзя переназначить, не означает, что у него только один SERCOM, вы, вероятно, можете использовать другой. Например, SERCOM0 находится на контактах PA04..PA07., @KIIV
@KIIV Извинения, я не знал, что Zero работает на SAMD21, и я не очень хорошо разбираюсь в SERCOM, однако я нашел это чрезвычайно актуальное руководство, которое может помочь (особенно страницы 11-14) https://cdn-learn. adafruit.com/downloads/pdf/using-atsamd21-sercom-to-add-more-spi-i2c-serial-ports.pdf, @kylemohr
- Несколько записей variant.cpp для одного и того же физического контакта
- Библиотека esp32 spi, как читать регистр mcp23s08
- Невозможно установить низкий уровень на выводе MOSI даже после завершения SPI
- Конфигурация Arduino Zero для Arduino Zero SPI
- Изменение порта SPI библиотеки Arduino SD library на Arduino Zero (ATSAMD21G18A)
- Как использовать SPI на Arduino?
- NodeMCU - Vin контакт как выход 5V?
- Использовать все контакты как цифровые входы/выходы
похоже, что SERCOM1 можно настроить как SPI на контактах 11, 12, 13, но как вы хотите его использовать?, @Juraj
Я отправляю 32-битное слово на другое устройство по протоколу SPI и хочу использовать все те же функции, что и 6-контактный заголовок на цифровых контактах по умолчанию. Я пробовал переназначать контакты с помощью SERCOM, но код, похоже, не работал., @eramirez2024
в руководстве не показано, как использовать SERCOM для SPI, но должен работать тот же подход, что и для Wire: https://docs.arduino.cc/tutorials/communication/SamdSercom, @Juraj
руководство по SPI от Adafruit https://learn.adafruit.com/using-atsamd21-sercom-to-add-more-spi-i2c-serial-ports/creating-a-new-spi, @Juraj