Trạng thái của GPIO khi cấp nguồn là gì? vd: Cao, Thấp, Hi-Z?
Ngoài ra có hệ điều hành nào thay đổi trạng thái của bất kỳ GPIO nào khi tải không? Hy vọng là không.
Trạng thái của GPIO khi cấp nguồn là gì? vd: Cao, Thấp, Hi-Z?
Ngoài ra có hệ điều hành nào thay đổi trạng thái của bất kỳ GPIO nào khi tải không? Hy vọng là không.
Câu trả lời:
Tôi đã tìm thấy câu trả lời ở đây nhờ russellstrong . Tôi trích dẫn phần có liên quan dưới đây
Tôi đã đi đến kết luận về điện trở kéo / độ nhạy của mạch của tôi với điện trở kéo xuống. RPi không đặt GPIO thành đầu ra khi khởi động lần đầu tiên. Nó đang bật một điện trở kéo xuống trong 740 mili giây.
Tôi đã sử dụng hai điện trở 18K (3v3 -> GPIO -> GND) để xem xét chính xác những gì đang xảy ra với các chân. Đây là dấu vết. Dòng màu xanh là nguồn 3v3, dòng màu vàng là dòng GPIO.
Khi bắt đầu sử dụng bản phân phối Debian được đề xuất cho RPi, GPIO bị tắt. Bạn phải kích hoạt từng pin riêng lẻ.
Nếu bạn đang thực hiện thông qua / sys, bạn sẽ thấy "Đường dẫn trong Sysfs" thú vị (tìm kiếm trong http://www.kernel.org/doc/Documentation/gpio.txt ). Cụ thể, bạn sẽ kích hoạt mã pin bằng cách "xuất" nó. Bất kỳ lệnh nào dưới đây giả sử bạn đang chạy với quyền root (sudo hoặc cách khác) hoặc bạn đã thay đổi quyền / quyền sở hữu của các tệp ảo đang được sửa đổi.
echo 4 > /sys/class/gpio/export
Điều này cho phép chân GPIO # 4 sau đó khiến / sys / class / gpio / gpio4 tồn tại, chứa một số tệp ảo. Các tệp này bao gồm "hướng" xác định xem đó là đầu vào hay chân đầu ra, "giá trị", chỉ đọc cho đầu vào hoặc có thể ghi cho đầu ra và chứa giá trị hiện tại và các giá trị khác.
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
Tất nhiên, có lẽ bạn sẽ thích sử dụng một số thư viện có sẵn để làm GPIO được cung cấp hoặc tương thích với ngôn ngữ bạn chọn. Nhưng nếu bạn muốn một cái gì đó đơn giản, bạn có thể chỉ cần giao tiếp trực tiếp với sysfs để thực hiện GPIO rất cơ bản.
cat /sys/class/gpio/gpio4/direction
nói "trong". Tôi đọc trong biểu dữ liệu rằng không thể đọc trạng thái của pullups / pulldowns. Tôi sẽ cố gắng đo chúng