Arduino Nano использует контакты SPI в качестве контактов ввода-вывода? а еще можно сделать ISP?

Интересно, можно ли использовать контакты Arduino Nano SPI (MOSI, MISO и SCK) в качестве контактов ввода-вывода в скетче? и по-прежнему иметь возможность программировать через ISP?

Конечно, перед программированием я физически отключу Arduino от любого другого оборудования.

, 👍1

Обсуждение

почему ты спрашиваешь это?, @Juraj


1 ответ


Лучший ответ:

1

Да, вы можете использовать SPI в своем скетче по своему усмотрению. Программирование через ISP запускается сбросом микроконтроллера. Это означает, что при попытке программирования через ISP ваш скетч (который настраивает оборудование SPI для использования) не запускается. Программирование начинается на этапе, предшествующем запуску скетча, поэтому скетч не может вмешиваться.

Кстати: то же самое верно и для программирования через Serial, хотя и по другой причине. Программирование через Serial выполняется загрузчиком, который запускается до вашего скетча.

,

Таким образом, я могу использовать их в качестве цифровых входов/выходов, и я также могу использовать TX/RX в качестве входов/выходов, но тогда я не смогу использовать COM-порт для связи с ПК во время работы, не так ли? это правильно?, @Anton Ingemarson

Да, вы можете использовать контакты SPI в качестве IO, как вам нравится. Для аппаратных последовательных контактов TX и RX: вы можете настроить их как ввод-вывод, но вам следует подумать об обрезании дорожек к последовательному чипу USB, которые подключены к ним. Линии Serial (UART) активно высокие. Чип USB Serial может мешать предполагаемым функциям контактов, если вы не обрежете дорожки., @chrisl

@chrisl - Обычно это не проблема. Последовательный интерфейс USB подключается к процессору через резисторы 1k. При использовании в качестве выхода процессор может перегрузить резистор. При использовании в качестве входа источник возбуждения должен быть достаточно мощным, чтобы управлять резистором 1 кОм, а также процессором., @Kevin White