今天我們學習了Python的SPI通訊,SPI是串行外設(shè)接口(Serial?Peripheral?Interface)的縮寫I伶丐,是一種高速的撵割,全雙工辙芍,同步的通信總線故硅,并且在芯片的管腳上只占用四根線,節(jié)約了芯片的管腳往踢,同時為PCB的布局上節(jié)省空間徘层,提供方便,正是出于這種簡單易用的特性瘦癌,如今越來越多的芯片集成了這種通信協(xié)議
首先需要導入相關(guān)文件from pyb import SPI跷敬,from pyb import Pin,from pyb import Switch, delay?
?引腳有?SPI(1):(NSS, SCK, MISO, MOSI) = (X5, X6, X7, X8) = (PA4, PA5, PA6, PA7)
SPI發(fā)送接收
def spi_tx_rx(nSS, tx_buf, rx_buf):
nSS.low()? # 選擇
spi.send_recv(tx_buf, rx_buf)
nSS.high() # 取消
在GPIO口上用軟件模擬實現(xiàn)SPI通信協(xié)議
def?__init__(self,?gpio,?sclk,?mosi=None,?miso=None,?ss=None):
初始化基于軟件的SPI斤寇。需要提供一個關(guān)于GPIO的基類娘锁,一個SPI時鐘以及可以選擇的MOSI饺鹃,MISO和SS(片選)。
self._gpio?=?gpio
self._sclk?=?sclk
self._mosi?=?mosi
self._miso?=?miso
self._ss?=?ss