#概要
Stm32マイコンのgpio設定した際にpull up/down設定とoutput mode時のpush pull /open drain設定について詳しく知らなかったので調査してみた。
#pull up/down設定
pull up/downはご存知の通り、不定な電圧レベルをhigh or lowに固定させるための設定である。マイコンによってはpull up/down設定が、portがinput mode設定の時のみしか反映されない。stm32のデータシートを見るとpull up/downの抵抗は入手力機能の外側に付けられている(
下図)。そのためinput/output mode問わずに電圧を固定できる。
#push pull とopen drainについて
portをoutputモードにした時に設定できるのがpush pullとopen drainの2つである。
Push pullの構造はスイッチが上下に2つついておりhighとlowを切り替える。
Open drainはスイッチが1つのみでスイッチoffの時、出力電圧が不定になる。そこで外付けでpull up抵抗をつけることで電圧highを出力できる。釣り上げる電圧を選択できるので5V系icから3.3v電圧を出力できる(下図)