Я работаю с микроконтроллерами STM32. Эти микроконтроллеры имеют возможность установить входной контакт как повышающий или понижающий:
Раньше я давал внешнее подтягивающее или опускающее сопротивление везде, где это необходимо, но теперь мне интересно, могу ли я покончить с внешними компонентами и использовать функцию опускания самого микроконтроллера.
Будет ли это хорошо сделать?
Есть ли какой-то случай, когда я должен принять дополнительные меры предосторожности или вообще не использовать эту функцию?
Ответы:
Да ... Вы можете ... Это проверенная функция. Если вы видите структуру выводов в Справочном руководстве STM32, вы можете увидеть, что в нем есть необходимые компоненты -
Если это удовлетворяет вашим требованиям, вы можете отказаться от внешних компонентов.
Редактировать Помните, что при включении питания, булавки будут Tristated. Если это не мешает вашему приложению, это хорошо! Вот почему рекомендуется сначала инициировать раздел ввода-вывода, а затем продолжить работу с другими периферийными устройствами.
источник
В общем, прекрасно использовать внутренние подтягивающие или понижающие резисторы.
Недостатком является то, что вы можете забыть включить его с помощью программного обеспечения, что может вызвать небольшую головную боль. Внешние подтягивания всегда будут там. Поэтому не забудьте включить внутренние и сэкономить много печатных плат за счет уменьшения количества компонентов.
Вы должны всегда проверять, требуется ли вашему приложению определенное значение повышающего или понижающего резистора, прежде чем использовать внутренние резисторы. Например , не используйте их с I 2 C , так как эти значения будут слишком высокими для этого.
источник
Если во время сброса активны подтягивающий и понижающий резисторы (я подозреваю, что они не активны, но я не знаком с устройствами STM32), при сбросе существует неопределенное состояние выводов. Это одна из основных причин использования внешних подтягивающих или понижающих резисторов.
источник
Как уже говорили другие, внутренние подтягивания и опускания хороши, если:
Что касается последнего пункта, помните, что входы CMOS со средним уровнем напряжения могут вызывать значительный сквозной ток на их входной паре. Это может вызвать проблемы в системе с низким энергопотреблением во время запуска.
В целом, внешние тяговые резисторы приведут к более консервативному дизайну.
источник
В дополнение к другим исключениям, перечисленным во всех ответах, внутренние подтягивающие резисторы во многих случаях слишком слабы для I²C .
источник