多字节SPI从机接收

[复制链接]
9206|10
 楼主| yg.f 发表于 2023-12-25 15:43 | 显示全部楼层 |阅读模式
单片机作为从机要接收一个24bit的SPI总线数据,CS信号宽度24bit,能用硬件SPI实现吗?
两只袜子 发表于 2024-1-10 15:02 | 显示全部楼层
是否能够使用硬件SPI实现24位的传输取决于您的单片机的具体硬件支持和SPI接口的配置。
jcky001 发表于 2024-1-10 15:03 | 显示全部楼层
首先需要明确的是,SPI标准本身并不直接支持24位的数据宽度。标准的SPI协议通常支持的数据宽度是8位、16位或32位。
jcky001 发表于 2024-1-10 15:03 | 显示全部楼层
首先需要明确的是,SPI标准本身并不直接支持24位的数据宽度。标准的SPI协议通常支持的数据宽度是8位、16位或32位。
jcky001 发表于 2024-1-10 15:03 | 显示全部楼层
如果您确实需要传输24位的数据,一种可能的解决方案是使用两个连续的32位传输周期来分次传输这24位数据。例如,您可以使用第一个32位周期来传输高8位,然后在接下来的32位周期中传输低16位。这样,您可以通过两次传输来完成24位的传输。
如果您的硬件SPI接口支持扩展数据宽度(比如通过特定的寄存器配置或模式设置),那么您需要查阅单片机的数据手册或参考手册,看看是否可以直接配置SPI接口以支持24位宽的传输。
另一种方法是使用软件SPI(也称为bit-bang SPI)来模拟24位的SPI通信。这种方法不依赖于硬件SPI的支持,而是通过微控制器上的通用I/O引脚来模拟SPI的时序和数据传输。但是,这种方法可能会比硬件SPI慢得多,而且需要更多的CPU资源。
szt1993 发表于 2024-1-17 14:44 | 显示全部楼层
jcky001 发表于 2024-1-10 15:03
如果您确实需要传输24位的数据,一种可能的解决方案是使用两个连续的32位传输周期来分次传输这24位数据。例 ...

楼主这个方法很巧妙
冬天下雪 发表于 2024-1-17 15:10 | 显示全部楼层
首先要进行数据宽度的调整,然后再做别的工作
jflahdink09 发表于 2024-1-17 15:15 | 显示全部楼层
需要通过示波器查看数据是否有效。
LOVEEVER 发表于 2024-1-17 15:29 | 显示全部楼层
SPI接口支持扩展数据宽度能够满足那些需求
中国龙芯CDX 发表于 2024-1-18 11:16 | 显示全部楼层
建议将数据结构规范为SPI标准数据宽度
小小蚂蚁举千斤 发表于 2024-1-18 14:00 | 显示全部楼层
此处应该有数据结构作为支撑进行数据的统筹分析
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

19

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部