Bagaimana keadaan GPIO ketika daya diterapkan? mis. Tinggi, Rendah, Hi-Z?
Juga apakah ada OS yang mengubah status GPIO saat dimuat? Semoga tidak.
Bagaimana keadaan GPIO ketika daya diterapkan? mis. Tinggi, Rendah, Hi-Z?
Juga apakah ada OS yang mengubah status GPIO saat dimuat? Semoga tidak.
Jawaban:
Saya telah menemukan jawabannya di sini berkat russellstrong . Saya mengutip bagian yang relevan di bawah ini
Saya telah melompat ke kesimpulan tentang resistor pull-up saya / sensitivitas sirkuit saya ke resistor pull-down. RPi tidak mengatur keluaran GPIO saat pertama kali boot. Menghidupkan pull down resistor selama 740 milidetik.
Saya telah menggunakan dua resistor 18K (3v3 -> GPIO -> GND) untuk melihat apa yang terjadi dengan pin. Inilah jejaknya. Garis biru adalah kekuatan 3v3, garis kuning adalah garis GPIO.
Ketika mulai menggunakan distro Debian yang disarankan untuk RPi, GPIO dinonaktifkan. Anda harus mengaktifkan setiap pin secara terpisah.
Jika Anda melakukannya melalui / sys, Anda akan menemukan "Paths in Sysfs" menarik (cari di dalam http://www.kernel.org/doc/Documentation/gpio.txt ). Khususnya, Anda akan mengaktifkan pin dengan "mengekspor" pin itu. Setiap perintah di bawah ini menganggap Anda menjalankan hak akses root (sudo atau lainnya) atau Anda telah mengubah izin / kepemilikan file virtual yang sedang dimodifikasi.
echo 4 > /sys/class/gpio/export
Ini memungkinkan GPIO pin # 4 yang kemudian menyebabkan / sys / class / gpio / gpio4 ada, yang berisi beberapa file virtual. File-file itu termasuk "arah" yang mendefinisikan apakah itu input atau pin output, "nilai" yang dapat dibaca-saja untuk input atau dapat ditulis untuk output dan berisi nilai saat ini, dan lainnya.
echo out > /sys/class/gpio/gpio4/direction # set it as an output pin
echo 1 > /sys/class/gpio/gpio4/value # set the value to ON
echo 0 > /sys/class/gpio/gpio4/value # set the value to OFF
echo in > /sys/class/gpio/gpio4/direction # set it as input
cat /sys/class/gpio/gpio4/value # get the value
echo 4 > /sys/class/gpio/unexport # disables pin 4 and removes the gpio4 directory
Tentu saja, Anda mungkin lebih suka menggunakan beberapa perpustakaan yang sudah ada sebelumnya untuk melakukan GPIO yang disediakan atau kompatibel dengan bahasa pilihan Anda. Tetapi jika Anda menginginkan sesuatu yang sederhana, Anda bisa langsung berinteraksi dengan sysfs untuk melakukan GPIO yang sangat dasar.
cat /sys/class/gpio/gpio4/direction
mengatakan "dalam". Saya membaca di datasheet bahwa tidak mungkin untuk membaca keadaan pullups / pulldowns. Saya akan mencoba mengukurnya