Почему на Nucleo-32 контакты D4 и D5 соединены с A4 и A5?
Обновлено Редакция GAW
У Nucleo-32 разъёмы в формате ARDUINO Nano, и ST выводит шину I²C на аналоговые контакты A4 и A5. Но модуль I2C1 микроконтроллера выходит на выводы PB7 и PB6, а на A4 и A5 разведены PA5 и PA6. ST решает это перемычками: SB18 и SB16 по умолчанию замкнуты и соединяют контакты попарно (UM1956, разд. 7.10, табл. 8).
Что с чем соединено
| Контакт | Вывод STM32 | Соединён через | С контактом | Его вывод | Функция |
|---|---|---|---|---|---|
| A4 | PA5 | SB18 | D4 | PB7 | I2C1_SDA |
| A5 | PA6 | SB16 | D5 | PB6 | I2C1_SCL |
Функции выводов — из базы ST для STM32L432 (альтернативная функция AF4). Карта контактов каждой платы Nucleo-32 — в разделе «Платы ST».
Что из этого следует
- I²C на A4 и A5 работает «из коробки» — модуль I2C1 настраивают на PB7 и PB6, а шилд или датчик подключают к A4 и A5.
- PA5 и PA6 — только входы без подтяжки, пока перемычки замкнуты: так требует UM1956. Наш вывод: подтяжка или выход на PA5 тянули бы линию SDA, а выход — ещё и спорил бы с выходом PB7.
- D4 и D5 — не отдельные контакты. Сигнал на D4 появится и на A4.
Когда размыкать
Если нужны все четыре контакта по отдельности — например, A4 и A5 как входы АЦП и D4, D5 как цифровые выводы, — размыкают SB18 и SB16. Тогда I²C остаётся только на D4 и D5. Режимы выводов и их настройка — в статье «GPIO STM32», сама шина — в статье «I²C».
Похожие вопросы
Что будет, если настроить PA5 выходом при замкнутых перемычках?
PA5 и PB7 окажутся соединены напрямую: если один вывод выдаёт единицу, а другой — ноль, между ними потечёт ток короткого замыкания выходов. Поэтому UM1956 требует держать PA5 и PA6 входами без подтяжки, пока SB18 и SB16 замкнуты (вывод о замыкании — наш).
Можно ли использовать A4 как аналоговый вход?
Да, но только разомкнув SB18: иначе к входу АЦП подключён и вывод PB7 со своей нагрузкой — линией I²C или чем-то, что висит на D4. То же для A5 и SB16.
У Nucleo-64 тоже так?
Нет: у Nucleo-64 A4 и A5 по умолчанию — аналоговые входы PC1 и PC0, а I²C1 выведен на D14 и D15; на A4 и A5 его переносят перестановкой других перемычек. Подробно — в ответе об I²C на A4 и A5 платы Nucleo.
Источники
- STMicroelectronics. UM1956: STM32 Nucleo-32 boards (MB1180), User manual, Rev 6 (March 2025) — разд. 7.10, табл. 8: SB18 и SB16 по умолчанию замкнуты и соединяют A4 (PA5) с D4 (PB7) и A5 (PA6) с D5 (PB6) для I²C на A4 и A5; пока они замкнуты, PB7 и PB6 нельзя использовать как отдельные D4 и D5, а PA5 и PA6 должны быть входами без подтяжки; табл. 9–16: контакты разъёмов ARDUINO Nano
- STMicroelectronics. STM32_open_pin_data, mcu/STM32L432K(B-C)Ux.xml — PB6 — I2C1_SCL (AF4), PB7 — I2C1_SDA (AF4); PA5 — ADC1_IN10 и SPI1_SCK, PA6 — ADC1_IN11 и SPI1_MISO
Нашли ошибку?
Смотрите также
- Платы ST: Nucleo и DiscoveryNucleo-32/64/144, Discovery и Evaluation: контакты ARDUINO, выводы МК, занятые на плате
- GPIO STM32Режимы выводов, регистры F1 и F4, BSRR, AF, скорость, токи, 5 В, код
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- Альтернативная функция выводаAF: вывод под управлением периферии вместо порта
- Почему на контактах A4 и A5 платы Nucleo нет I²C?A4 и A5 — аналоговые входы; I²C1 на D14 и D15, перенос — перемычками SB