ここでは モジュールのPINをデジタル入出力としての使用方法について説明します。
SANSHOシリーズでは 複数のPINがデジタル入出力として割り当て可能になっています。
下記のその割り当て可能であるポートを示します。
ポート番号 | 機能 |
3 | PIO0 |
4 | PIO1 |
モジュール pyb クラス Pin
import pyb >>> p1=pyb.Pin.board.P3 # >>> p1.init(p1.OUT) # 出力へのセット >>> p1.value(1) # 値を出力 >>> p1.value() # 現値を確認 >>> p1.init(p1.IN) # 出力へのセット >>> p1.value() # 入力値を確認
ファイルの入出力の操作を説明します。
本システムはファイルシステム(FAT16)を装備しています。
ファイルシステムはSPIを介して接続された SDカードへのファイル操作が可能です。
SDカードはあらかじめFAT16でフォーマットしている必要があります。
SDカードはSPIモードで操作されます。
モジュールとはSPI信号で接続される必要があります。
ポート番号 | 機能 |
P13 | SPI_NSS |
P14 | SPI_MISO |
P15 | SPI_MOSI |
P16 | SPI_CLK |
ファイルの書き込みを行う場合の例を示します。
>>> f1=open("filename",'w') # "filename" を 書き込みモードで OPENする。 >>> s="testdata" # 書き込み情報を用意する。 >>> f1.write(s+'\n') # 改行を追加してファイルへ書き込む >>> f1.close() # ファイルをクローズする。
>>> f1=open('recv100.py','r') #リードモードでファイルをOPENします。 >>> f1.read() 'import lpwa\rimport rfn\r\rLOOPCOUNT=100\rWAITTIME=1000\rprint("**** Recive packet test script ****")\r#lpwa.reg(0x 14,0x11)\ri=0\rwhile(1):\r\trcv=lpwa.reg(rfn.Get,rfn.Post,WAITTIME)\r\tif type(rcv) is int:\r\t\tcontinue\r\tprint(str(i),end="")\r\tprint(rcv)\r\ti+=1\r\tif i >= LOOPCOUNT:\r\t\tbreak\r' >>> f1.readline() '' >>> f1.readline()
ファイルの存在や、ディレクトリの移動などの ディレクトリに操作について説明します。
import uos >>> uos.listdir() # ディレクトリの内容を表示する。 ['System Volume Information', 'beeputl.py', 'test.py', 'data903.csv', 'data905.csv', 'data908.csv', 'gpsf.py', 'gpsft.py', 'boot_20220228.py', 'boot_20220323.py', '_main.py', 'bak', 'PY\x10\x00.TXT', 'recv100.py', 'send100.py', 'rfn.py', 'er2str.py']
>>> os.mkdir('dir')
>>> os.remove('data.txt')エントリを削除できます:
exec(open("./recv100.py").read()) # recv100.pyを実行します。