У всех контроллеров STM32 очень много ног. Это конечно же хорошо, отпадает необходимость наращивать количество ножек при помощи сдвиговых регистров и расширителей портов. Но иногда из-за их большого количества возникает путаница. Большинству периферийных устройств типа АЦП, UARTов итд необходимы ноги контроллера для работы, и бывает такая ситуация когда два блока периферии претендуют на одну и ту же ногу. Естественно одновременно использовать её они не могут и тут у нас есть два выхода из ситуации:
- Использовать другой аналогичный блок периферии (второй UART например)
- Использовать ремап
С первым пунктом всё понятно, а вот что же такое remap в STM32 ? В двух словах: Ремап позволяет какому-либо блоку периферии использовать для своих целей другие (но тоже жестко заданные) ноги контроллера. Чтоб смотреть что куда ремапится надо лазить в даташит и искать это там. Для того чтоб узнать какая периферия использует одинаковые ноги надо опять смотреть даташит. А можно не открывать его по таким пустякам, а просто заюзать неплохую программку от ST под названием MicroXplorer