ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

stm32 SPI 如何接收20位的连续数据

[复制链接]
6139|11
 楼主 | 2013-5-6 21:17 | 显示全部楼层 |阅读模式
    请教一个问题,最近做一个SPI的通信协议,打算利用STM32的SPI做从机来实现20位连续数据的处理,不知如何配置或者编程。CLK信号由外部主机提供,数据连续,且另有一路信号表达数据起始。
| 2013-5-7 21:02 | 显示全部楼层
只接受吗?尝试一下配置为单线只收或者双向只收!有条件lz多多尝试就是了~没条件的人想尝试都没机会呢!LZ加油,也同样希望LZ可以成功并和大家分享交流~
 楼主 | 2013-5-8 08:22 | 显示全部楼层
问题在于 STM32F4 系列  SPI 只能配置为 8位或16位 。我这个实时性要求高,所以犯难了!
| 2013-5-8 09:15 | 显示全部楼层
20位的应该不是SPI了吧,啥器件弄得20位的SPI?
非标的东西,只能想别的招了
 楼主 | 2013-9-20 13:27 | 显示全部楼层
信号有三路,时钟,同步信号,数据。  时钟频率是4M, 而且上位机发下来的数据是连续不断的。对实时性要求高。同步信号在第一个时钟发出的同时,翻转位高电平, 并且一直持续到第19个数据后,变为低电平。
我的问题是,如果用STM32自带的SPI接收,设置为16位, 第一个16位接收后之后,第二个接收4位后, 接收到4位后,同步信号电平翻转,能否从寄存器里得到4位数据,实时处理。然后继续接收下一个20位,,关键是怎么实现同步。
| 2014-8-15 15:07 | 显示全部楼层
楼主请问你最后实现了吗,我现也正做一个stm32读取AD数据的SPI通信,只不过是AD芯片作为主设备,单片机做从设备,因为SCK信号是AD芯片主动发出的,分别是:SCO,SDO,SDI,FSO,FSO是数据控制信号,当其拉低时SDO才输出数据。请问SPI程序该如何改写呢?
| 2016-7-27 22:09 | 显示全部楼层
什么情况,这贴子咋没结果呢,这不是浪费感情吗?
我需要采集20位ADC数据,STM32能不能够啊,不行我换厂家了
| 2016-7-28 17:01 | 显示全部楼层
我都是用普通IO口模拟SPI,想怎么玩就怎么玩
| 2017-6-14 17:45 | 显示全部楼层
每读一个字节前空写一次就行了吧
| 2018-9-14 17:38 | 显示全部楼层
zhaoyu2005 发表于 2013-5-8 09:15
20位的应该不是SPI了吧,啥器件弄得20位的SPI?
非标的东西,只能想别的招了 ...

SPI只是时序和电平的标准,没有规定数据位数。不存在非标问题。不支持只是stm32的问题,很多传感器或者设备甚至用的25位,或32位SPI数据。
| 2018-9-14 17:39 | 显示全部楼层
johngray 发表于 2013-9-20 13:27
信号有三路,时钟,同步信号,数据。  时钟频率是4M, 而且上位机发下来的数据是连续不断的。对实时性要求 ...

如果系统复杂性不高,可以用模拟SPI,寄存器操作电平翻转或检测速度也很快。
| 2018-9-14 17:54 | 显示全部楼层
记得以前有个贴讨论过,你这边只是从机,做好cs拉高的状态处理就行了
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表