#現在のコード
以下、抜粋
python
1import wiringpi2 as wp 2import struct 3 4L6470_SPI_SPEED = 1000000 #通信速度1MHz 5 6CS_PIN = 5 #BCMで指定 7 8def L6470_write(channel, data): #ドライバーに1Byteの情報を送る関数 9 bydata = struct.pack("B", data) #16進数の'data'を2進数の'bydata'に変換 10 wp.wiringPiSPIDataRW(channel, bydata) #ドライバに送信 11 12if __name__=="__main__": 13 speed = 0 14 15 wp.wiringPiSetupGpio() 16 wp.wiringPiSPISetup (0, L6470_SPI_SPEED) #CS0ピンと1MHzで通信開始 <= おそらくこの書き方が変わるか 17 #別の記法がある。 18 print("***** Start program *****") 19 20 #NOP(何もしない)命令 21 L6470_write(0, 0x00) 22 L6470_write(0, 0x00) 23 L6470_write(0, 0x00) 24 L6470_write(0, 0x00) 25 #デバイスのリセット 26 L6470_write(0, 0xC0) 27 print("***** OK RESET *****")
#やりたいこと
raspberrypiの{MISO, MOSI, SCLK}ピンは使用するが、CSピンはGPIOピンに置き換えをしたうえでコーディングをしたい。その場合、上のコードの「wp.wiringPiSPISetup (0, L6470_SPI_SPEED)」の部分を書き換えるだろうが、どのように書き換えたらいいのかわからない。
また、wiringPiのライブラリにより、送信する際は1ByteごとにCSピンを下げたり上げたりして通信対象を確定しているように思えるが、GPIOとなるとその辺りの処理はどうやるのか??
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/08 01:47