一、SPI详解
1、SPI概念(来自文心一言):
SPI(Serial Peripheral Interface)是一种高速、全双工、同步的通信协议,主要用于微控制器(MCU)与各种外围设备(如传感器、存储器、显示驱动器等)之间的数据交换。
2、SPI模块介绍
(1)主从机制:当一个设备向其它设备发送数据时,它就是主机,它向接收其它设备的数据时,它就是从机(在模块配置时一般会设置主从模式,所以这里理解即可);在通讯过程中,只能有一个主机,可以有多个从机(即一个设备作为主机可以向很多设备发送数据,但是作为从机只能接收一个设备发来的数据)
(2)模块组成:一般有四条线,用于与需要通讯的设备相连,SCK(时钟线),CS(片选线,用来选择跟哪个从机进行通信),miso(英文缩写,主机输入,从机输出),mosi(英文缩写,主机输出,从机输入)
二、具体实现(有函数接口用的就直接调接口,看接口是否满足自己的需求,没有接口就用SDK的demo,直接操作寄存器)
1、主机模块初始化:引脚端口配置(将相应引脚复用为SPI相关引脚)、启用时钟(一般按照芯片SDK内的demo配置即可,功能异常时第一步可用示波器查看时钟是否启用)、波特率设置
2、操作寄存器,启用数据传输,给数据寄存器赋值
3、使用示波器连接主机四条线,查看是否有时钟,CS是否拉低(一般选中从机开始通讯时拉低CS线),mosi是否有自己给数据寄存器赋值的数据