Почему на контактах A4 и A5 платы Nucleo нет I²C?
Обновлено Редакция GAW
У Nucleo-64 модуль I2C1 выведен на контакты D14 и D15 — они стоят на разъёме сразу после GND и AREF (UM1724, табл. 11–23). Шилды, рассчитанные на I²C на аналоговых контактах A4 и A5, как у ARDUINO Uno V1, без доработки платы шину не найдут: ST оставляет такую совместимость на перемычках (разд. 7.13).
Nucleo-64: что где по умолчанию
| Контакт ARDUINO | По умолчанию | После перестановки перемычек | Функция |
|---|---|---|---|
| A4 | PC1 (аналоговый вход) | PB9 | I2C1_SDA |
| A5 | PC0 (аналоговый вход) | PB8 | I2C1_SCL |
| D14 | PB9 | PB9 | I2C1_SDA |
| D15 | PB8 | PB8 | I2C1_SCL |
Перестановка — замкнуть SB46 и SB52, разомкнуть SB51 и SB56. Функции выводов — из базы ST: на PB8 и PB9 у STM32F401 модуль I2C1 подключается альтернативной функцией AF4. Это одинаково для всех плат Nucleo-64 на MB1136, у которых таблицы UM1724 дают D14 = PB9 и D15 = PB8.
Nucleo-144
У Nucleo-144 контакты A4 и A5 тоже по умолчанию аналоговые — у большинства плат, например на STM32F429 и F767, это PF5 и PF10, — и перемычками на них выводят I2C1 (PB9 и PB8). Номера перемычек свои: смотрите таблицу перемычек UM1974 для вашей платы. Контакты для каждой платы собраны в разделе «Платы ST».
Если I²C всё равно не работает
Наш вывод: после перестановки нужно ещё и настроить в программе PB8 и PB9 как I2C1 — режим открытого стока и альтернативную функцию, — о режимах выводов в статье «GPIO STM32». Подтяжки линий, адрес устройства и сигнал на шине проверяют по порядку из ответа «Как проверить шину I2C»; сама шина описана в статье «I²C».
Похожие вопросы
Нужно ли трогать перемычки, если шилд использует D14 и D15?
Нет: у Nucleo-64 контакты D14 и D15 уже подключены к PB9 и PB8 — линиям SDA и SCL модуля I2C1. Перемычки нужны только шилдам, которые берут I²C с A4 и A5, как платы под старый ARDUINO Uno.
Что я потеряю, если переставлю перемычки?
Аналоговые входы PC1 и PC0 на контактах A4 и A5: SB51 и SB56 их отключают. Кроме того, A4 окажется соединён с D14, а A5 — с D15, потому что это один и тот же вывод STM32 (наш вывод из таблиц UM1724).
Как переставить перемычку SB на плате?
Перемычки SB (solder bridge) — пары площадок на плате, которые замыкают припоем. Замкнуть — соединить площадки каплей припоя, разомкнуть — удалить припой паяльником и оплёткой (наш вывод). Где находится каждая перемычка и в каком она положении по умолчанию, указано в руководстве платы.
Источники
- STMicroelectronics. UM1724: STM32 Nucleo-64 boards (MB1136), User manual, Rev 17 (September 2025) — разд. 7.13: A4 и A5 по умолчанию — PC1 и PC0; для I²C на них (PB9 и PB8, как у ARDUINO Uno V1) замыкают SB46 и SB52, размыкают SB51 и SB56; табл. 11–23: D14 — PB9, D15 — PB8
- STMicroelectronics. UM1974: STM32 Nucleo-144 boards (MB1137), User manual, Rev 11 (August 2025) — табл. 13–20: A4 и A5 по умолчанию — аналоговые выводы (у большинства плат, например на STM32F4 и F7, — PF5 и PF10), перемычками на них выводят I²C1 (PB9 и PB8); D14 — PB9, D15 — PB8
- STMicroelectronics. STM32_open_pin_data, mcu/STM32F401R(D-E)Tx.xml — PB8 — I2C1_SCL (AF4), PB9 — I2C1_SDA (AF4); PC0 и PC1 — ADC1_IN10 и ADC1_IN11
Нашли ошибку?
Смотрите также
- Платы ST: Nucleo и DiscoveryNucleo-32/64/144, Discovery и Evaluation: контакты ARDUINO, выводы МК, занятые на плате
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек
- GPIO STM32Режимы выводов, регистры F1 и F4, BSRR, AF, скорость, токи, 5 В, код
- Альтернативная функция выводаAF: вывод под управлением периферии вместо порта
- Как проверить шину I2C?Уровни SDA и SCL в покое, сканер адресов и девять тактов