Python」カテゴリーアーカイブ

GPIO 出力ポートの状態を読み込む Raspberry Pi Zero WH

GPIO 出力ポートの状態を読み込む Raspberry Pi Zero WH
出力設定値 or 出力ピン状態 のどちらが読み込まれるのか不明、ハードウエアマニュアルを読むか、出力ピンに適当な値の抵抗を接続し強制的に01にするかして調べる

GPIO を共有し別々のPythonプログラム(例 1.py 2.py)から制御する、動作OK
GPIO.setmode(GPIO.BCM) #(1.py 2.py)単なる記述形式指定
GPIO.setup(17, GPIO.OUT) #(1.py 2.py)ピン入出力設定、それぞれの.pyに同じ内容を記述する
GPIO.output(17, 0) #(1.py)に記載
print(GPIO.input(17)) #(2.py)に記載

UART シリアル通信 PythonRaspberry Pi Zero WH

UART シリアル通信 Python Raspberry Pi Zero WH 参照 参照
実験 ループバック (UART0 TxD)-(UART0 RxD) を接続
$ vcgencmd version #ファームウエアバージョン
Nov 4 2018 16:31:07
$ uname -a #カーネルバージョン
Linux 000003 4.14.79+ #1159 Sun Nov 4 17:28:08 GMT 2018 armv6l GNU/Linux
ラズベリーパイ設定($ sudo raspi-config)
Serial Port: Enable
Serial Console: Disable
$ sudo mc #midnight commander
/boot/config.txt
enable_uart=1
$ ls -l /dev
serial0 -> ttyS0

import serial,time

#s=serial.Serial('/dev/serial1', 115200, timeout=10) #not work
#s=serial.Serial('/dev/AMA0', 115200, timeout=10) #not work
#s=serial.Serial('/dev/serial0', 115200, timeout=10) #work good
s=serial.Serial('/dev/ttyS0', 115200, timeout=10) #work good

while 1:
    s.write(b'ABCDEFG')
    time.sleep(1.6) #2=2s 0.001=1ms
    print(s.readline())
    #x=s.read( ) #read 1 byte
    #x=s.read(4) #read 4 byte
    
s.close()