Apakah resistor pull-up / down (baik internal maupun eksternal) hanya diperlukan untuk pin INPUT MCU? Sebaliknya, pin MCU yang dikonfigurasikan sebagai OUTPUT "tahu level apa yang ada di" karena melakukan pengemudian - pin MCU OUTPUT yang diikat ke beberapa input sirkuit lain tidak masuk akal, karena keadaan pin MCU hanya bisa tinggi atau rendah ... apakah saya memiliki hak ini? Sekarang, pada saat bootup MCU atau kegagalan, mungkin bermanfaat untuk memiliki pull-up / down terikat ke baris "output MCU ke input IC" untuk memastikan bahwa input ke beberapa IC tidak pernah mengambang.
Mungkin saya baru saja menjawab pertanyaan saya sendiri di sini ... resistor pull-up / down dapat digunakan pada pin input dan output, tergantung pada aplikasi?
Anda memilikinya tentang benar; biasanya Anda tidak perlu melakukan pullup pada output, tetapi mereka dapat berguna untuk menjaga keamanan selama waktu boot dll.
Satu alasan lain untuk menggunakan pull-up pada output: jika beberapa output dari beberapa MPU terhubung satu sama lain, Anda benar - benar tidak ingin satu mengemudi VCC dan yang lain mengemudi 0V pada kabel yang sama! Jadi, Anda dapat menggerakkan 0V pada output atau mematikan output (mungkin dengan mengkonfigurasi sebagai input). Ketika semua output dimatikan, kawat ditarik ke '1' (Vcc) oleh pullup. Ini disebut sinyal "berkabel DAN". (Anda dapat melakukan mengemudi yang sama '1' atau tidak aktif, dengan pulldown R, maka itu disebut kabel OR).
Pola ini memiliki beberapa kegunaan termasuk memungkinkan satu MPU untuk memberi sinyal kesalahan atau menyalakan LED, atau memungkinkan mereka semua bergiliran mengirim pesan satu sama lain dalam satu kabel.
sumber
Seperti yang Anda nyatakan, menggunakan pullup / pull-down resistor pada pin yang diharapkan akan menjadi pin output bisa ada untuk menjamin keadaan input.
Hal ini dilakukan untuk mengurangi kegagalan firmware / MCU, tetapi hanya akan berfungsi untuk melindungi dari keadaan impedansi-Hi (pada dasarnya pin dikonfigurasikan sebagai input secara tidak sengaja).
Kebanyakan MCU, saya terbiasa dengan pin IO default untuk keadaan input impedansi tinggi saat boot (tapi tidak ada jaminan, dan saya tidak punya pengalaman dengan hampir semua keluarga MCU), yang berarti perlu beberapa saat sebelum kode untuk menginisialisasi pin negara dieksekusi.
Terkadang ini tidak masalah, di lain waktu itu tidak penting.
sumber
Jawabannya tergantung pada keluarga mikrokontroler, dan apa perilaku defaultnya pada Power On Reset. Jika mikrokontroler hanya dapat dikonfigurasi untuk "output" atau "input" pada pin, ini biasanya berarti ia menggunakan driver Totem-Pole untuk output - yang berarti itu pada dasarnya adalah output dari gerbang CMOS, dalam hal ini output selalu didorong ke rel, jadi tidak ada alasan untuk mempengaruhinya secara pasif. Satu-satunya kasus di mana masuk akal untuk menggunakan pull-up / pull-down pada output adalah ketika itu dikonfigurasi sebagai Open Collector / Open Drain topology. Jauh lebih umum untuk melihat opsi pull-up / pull-down internal yang hanya berlaku ketika pin dikonfigurasi sebagai input. Jika Anda dapat menjamin bahwa dalam sistem Anda input selalu didorong oleh sesuatu, ini menghabiskan sedikit daya.
sumber
Anda dapat memiliki pin yang merupakan output beberapa waktu , seperti untuk melakukan I2C.
sumber