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

[STM8] 请教SPI方面的一个问题!!!

[复制链接]
409|11
 楼主 | 2018-9-11 20:25 | 显示全部楼层 |阅读模式
如题,请教两个关于SPI的问题,第一个是,无论SPI工作于何种方式,是否数据传输都是以一字节为单位,即一次只传输8位的数据,不能一次传输更多位?比如一次传输16位数据?18位?24位?或者更多等等,第二个问题是由第一问题产生的,我现在用STM8的SPI来接收24位AD芯片的数据,只要给时钟给AD芯片,然后接收就可以了,但是这个数据是连续的24位,中间不会有任何间隔或停顿,这个用STM8的SPI能实现吗?新手!勿喷!
| 2018-9-11 21:52 | 显示全部楼层
这个问题得分两部分,主机端是时钟控制端所以多个字节合并只要控制好时钟就行了,如果使用发送空中断可以做到无缝的发送.
从机端的收发可以把多台发送和接收串联起来扩展成多个字节,因为spi实质上就是一个环形移位器.你可以参考一下菊花链电路.
| 2018-9-11 22:26 | 显示全部楼层
当然可以。自己控制CS拉低,送出N字节*8bit的时钟,再拉高CS就行
| 2018-9-11 23:11 | 显示全部楼层
控制片选CS 就可以了。
| 2018-9-11 23:13 | 显示全部楼层
SPI控制NRF24L01 就可以啊
| 2018-9-12 07:41 | 显示全部楼层
楼上的 你说的这个可以输出几位啊
| 2018-9-12 07:43 | 显示全部楼层
片选控制好就行
 楼主 | 2018-9-12 08:23 | 显示全部楼层
谢谢各位的回答,这个AD芯片无片选功能,TI的ADS1251.
| 2018-9-12 12:34 | 显示全部楼层
肯定有办法解决啊  这个芯片手册上的时序事什么啊
| 2018-9-12 12:35 | 显示全部楼层
用那种模拟的开关进行切换能行吗
 楼主 | 2018-9-12 15:19 | 显示全部楼层
已经搞定了,谢谢各位,其实就是连续读三次就好了,根据数据情况,比如ADC芯片发送数据的顺序是先高后低,那么第一次读到的就是数据最高8位,这个时候把它左移16位放进一个变量,再读中间的8位,然后左移8位放进一个变量,剩下最后一个直接赋值给一个变量,然后三个变量按位与就可以了,这里的三个变量必须定义为32位的。
 楼主 | 2018-9-12 15:21 | 显示全部楼层
不对,是按位或哈
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

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

论坛热帖

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