打印

多字节SPI从机接收

[复制链接]
7859|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位。

使用特权

评论回复
5
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资源。

使用特权

评论回复
6
szt1993| | 2024-1-17 14:44 | 只看该作者
jcky001 发表于 2024-1-10 15:03
如果您确实需要传输24位的数据,一种可能的解决方案是使用两个连续的32位传输周期来分次传输这24位数据。例 ...

楼主这个方法很巧妙

使用特权

评论回复
7
冬天下雪| | 2024-1-17 15:10 | 只看该作者
首先要进行数据宽度的调整,然后再做别的工作

使用特权

评论回复
8
jflahdink09| | 2024-1-17 15:15 | 只看该作者
需要通过示波器查看数据是否有效。

使用特权

评论回复
9
LOVEEVER| | 2024-1-17 15:29 | 只看该作者
SPI接口支持扩展数据宽度能够满足那些需求

使用特权

评论回复
10
中国龙芯CDX| | 2024-1-18 11:16 | 只看该作者
建议将数据结构规范为SPI标准数据宽度

使用特权

评论回复
11
小小蚂蚁举千斤| | 2024-1-18 14:00 | 只看该作者
此处应该有数据结构作为支撑进行数据的统筹分析

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

14

帖子

1

粉丝