今天我们学习了Python的SPI通讯,SPI是串行外设接口(Serial Peripheral Interface)的缩写I,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,如今越来越多的芯片集成了这种通信协议
首先需要导入相关文件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发送接收
def spi_tx_rx(nSS, tx_buf, rx_buf):
nSS.low() # 选择
spi.send_recv(tx_buf, rx_buf)
nSS.high() # 取消
在GPIO口上用软件模拟实现SPI通信协议
def __init__(self, gpio, sclk, mosi=None, miso=None, ss=None):
初始化基于软件的SPI。需要提供一个关于GPIO的基类,一个SPI时钟以及可以选择的MOSI,MISO和SS(片选)。
self._gpio = gpio
self._sclk = sclk
self._mosi = mosi
self._miso = miso
self._ss = ss
网友评论