SPI 访问从设备通讯流(字节流设置与一般化方法)

本文介绍了SPI主设备与从设备通信的通用方法,包括Master Write和Master Read过程。在Master Write中,主机指定写入地址和数据;在Master Read时,主机指示从机的读取位置。通信流由头部(hdr)和数据缓冲区(buff)组成,头部可能包含命令、地址等信息,数据缓冲区用于数据交换。提供了相关示例代码和更多SPI学习资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

概述

本文通过分析SPI主从通讯的特点,总结出一套访问从设备的一般化方法。

了解更多SPI可访问S32K1专栏:
NXP S32K1 SPI模块
NXP S32K1 SPI模块Driver使用
SPI时钟极性、相位设置
SPI实例之C++实现EEPROM访问

常见的SPI从设备有EEPROM、FLASH、收发器、转换器、通讯模块等,在片选信号有效后,在主机时钟线的驱使下,主机输出数据或者主机接收至从机。

Master Write

对于主机输出数据,亦从机接收数据(配置从机、写数据到从机的场景),主机需指明写数据到从机的哪里(地址、寄存器),写入的数据,甚至在“地址”区域需要搭配命令来指明这是一个写操作,或者像IIC一样,通过LSB的两种状态来指定操作。

Master Read

对于主机接收数据,亦从机输出数据,主机在本次通讯六中指明在从机的哪里(地址)去读取数据,只有主机告诉从机了这个地址,从机协议解析(处理器)模块才能将该位置的数据通过SPI数据流的方式输出。

一般化

由此从主机角度来看,SPI通讯流(字节流)有两部分组成:hdr+buff。
hdr: 头部,可能是Cmd和/或Reg+Addr,其割断的长度在不同的从机中也各不相同,可能是1Byte,也可能是2Bytes。
buff:数据缓冲区,rxBuf和txBuf,即使在主机输出数据的情况下,从机同样会移位输出输出到从机的接受线,反之亦然。

示例代码

bool EEPROM::
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值