学习记录2--SPI问题集锦

本文详细探讨了SPI通信中主机如何在硬件层面产生时钟信号,并在读取从机数据时的操作。主机在发送两字节后于第三个字节发送后读取从机的四字节响应。对于从机返回的前两个无效字节,某些情况下可能需要读取以确保后续有效数据的正确接收。以AT32F421手册为例,解释了接收器的工作流程和配置。

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

SPI问题集锦

假定:主从机采用硬件SPI通信,主机发送两字节数据,从机回应四字节数据。

1.时钟信号的产生

主机在读取从机数据时,时钟信号怎么产生?
时钟信号全程由主机产生,主机在读取从机数据时,主机必须发送无效字节,以产生时钟信号。

2.主机什么时候读取

第三个字节发送后读取。
SPI是全双工同步通信,在第一个时钟信号到来时,主机移出一位数据给从机,从机也同时移出一位数据给主机,依次类推。所以当主机发送完第三个数据给从机时,从机的第三个数据也同时发送给了主机(从机发送的前两个数据无效,第三个数据才是主机需要的有效数据)。

3.无效数据读取

主机发送前两个字节时,从机会返回两个无效数据给主机,这两个数据虽然无效,但是对于不同的单片机来说,有的就需要将其读出来,从而后续的有效字节才能够正常读取。如果出现读取数据中有部分字节出错,则可以将无效字节读出来试试。
如下是AT32F421的手册说明,在13.2.8 接收器简述和配置流程中:

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值