stm32 推挽輸出和開漏輸出
stm32的IO口電路如上圖所示:
所謂推挽輸出:在輸出高電平時(shí),P-MOS管導(dǎo)通;低電平時(shí),N-MOS管導(dǎo)通。兩個(gè)管子輪流導(dǎo)通,一個(gè)負(fù)責(zé)灌電流,一個(gè)負(fù)責(zé)拉電流。推挽輸出的低電平為0v,高電平為3.3V.
開漏輸出:輸出低電平時(shí),N-MOS管導(dǎo)通,使輸出接地,若控制輸出1(無法直接輸出高電平),則既不輸出高電平,也不輸出低電平,為高阻態(tài)。正常使用時(shí)必須外接上拉電阻。
推挽輸出一般用于輸出電平為0V和3.3V的場(chǎng)合,而開漏輸出一般用于電平不匹配的場(chǎng)合,如需要輸出5V,就需要在外部接一個(gè)上拉電阻,電源為5V。