Конфигурация выводов ввода-вывода микроконтроллера I2C

Я использую этот микроконтроллер S32K142 64 контакта.

В справочном руководстве я вижу много контактов, которые, как я полагаю, являются только выходными, упоминаются как входные/выходные. Например, микроконтроллер является ведущим тактовым генератором I2C. Значит, в таком случае часы можно только выводить, верно? Но почему он указан как ввод-вывод?

введите описание изображения здесь

Ответы (1)

Большинство устройств I2C допускают растяжение тактовой частоты , благодаря чему ведомое устройство может немного «замедлиться», когда оно не может догнать скорость SCLK, генерируемую ведущим.

Подчиненный делает это, растягивая линию SCLK на низкий уровень после приема/отправки байта (в это время мастер отказывается от управления SCLK). Ведомое устройство возвращает часы на высокий уровень, когда оно готово к обработке следующего байта. Мастер обнаруживает это и снова берет на себя управление SCLK, и связь возобновляется.

В таких устройствах I2C SCLK также должен быть двунаправленной линией (открытый сток/открытый коллектор).

Также являясь выводом SCLK ввода/вывода, он обеспечивает гибкость настройки устройства I2C как ведущего/ведомого.

Кроме того, I2C, по-видимому, является единственной возможной функцией этого контакта. Для большинства микросхем вывод, который может выполнять I2C, также может быть запрограммирован как GPIO.
@WoutervanOoijen Я не думаю, что ты прав. Этот список выглядит как список всех функций, доступных в качестве альтернативных функций для вывода PTA3, и LPI2C0_SCL является лишь одной из альтернативных функций для этого вывода PTA3.
Я не читал этого, но в большинстве спецификаций «альтернативный» означает «кроме GPIO».