# 93lc66b(raspberry pi zero) 目的:實現簡易的讀寫 # 93lc66b(raspberry pi) 硬體平台:raspberry zero 目的:對93lc66b實現簡易讀寫 ## 接線圖 ![](https://i.imgur.com/vpFOtWZ.jpg) CS-GPIO8 DI-GPIO10 DO-GPIO9 CLK-GPIO11 ORG-GPIO4 VCC-3.3V VSS-GND ## 腳本測試 使用以下腳本程式測試 ```bash= #!/bin/bash cs=/sys/class/gpio/gpio8/value clk=/sys/class/gpio/gpio11/value miso="cat /sys/class/gpio/gpio9/value" mosi=/sys/class/gpio/gpio10/value org=/sys/class/gpio/gpio4/value array=(1 0 1 0 0 0 0 0 0 0 0) array_rd=(1 1 0 0 0 0 0 0 0 0 0) dat=(1 0 1 0 1 0 1 1 1 0 1 1 1 0 1 0) function spi_init(){ echo 4 > /sys/class/gpio/export echo 8 > /sys/class/gpio/export echo 9 > /sys/class/gpio/export echo 10 > /sys/class/gpio/export echo 11 > /sys/class/gpio/export sleep 0.5 echo in > /sys/class/gpio/gpio9/direction echo out > /sys/class/gpio/gpio4/direction echo out > /sys/class/gpio/gpio8/direction echo out > /sys/class/gpio/gpio10/direction echo out > /sys/class/gpio/gpio11/direction #echo 0 > $cs #echo 0 > $clk #echo 0 > $mosi } function spi_exit(){ echo 4 > /sys/class/gpio/unexport echo 8 > /sys/class/gpio/unexport echo 9 > /sys/class/gpio/unexport echo 10 > /sys/class/gpio/unexport echo 11 > /sys/class/gpio/unexport } function write(){ echo "write start" echo 1 > $cs for i in {0..10} do echo 0 > $clk # echo ${array[$i]} echo ${array[$i]} > $mosi sleep 0.000010 echo 1 > $clk sleep 0.000010 done for i in {0..15} do echo 0 > $clk # echo ${dat[$i]} echo "${dat[$i]}" > $mosi sleep 0.000010 echo 1 > $clk sleep 0.000010 done echo 0 > $cs sleep 0.000010 #while [ $($miso)==1 ] #do #echo busy #done } function read_mem(){ echo "read start" echo 1 > $cs for i in {0..10} do echo 0 > $clk # echo ${array[$i]} echo ${array_rd[$i]} > $mosi sleep 0.000010 echo 1 > $clk sleep 0.000010 done for i in {0..15} do echo 0 > $clk # echo ${dat[$i]} # echo "${dat[$i]}" > $mosi echo $($miso) sleep 0.000010 echo 1 > $clk sleep 0.000010 done echo 0 > $cs } spi_exit spi_init echo 1 > $org if [ $1 -eq 1 ] then write elif [ $1 -eq 2 ] then read_mem else echo none fi #write #read_mem echo 0 > $org #spi_exit ``` 寫入和讀出的資料不同,目前看來結果是錯誤的(未完成)。 下一步會嘗試製作成**洞洞板**讓之後便於外接**邏輯分析儀**驗證溝通的界面信號是否正確。 參考資料: [datasheet](http://ww1.microchip.com/downloads/en/DeviceDoc/21795b.pdf) ###### tags: `raspberry pi`