OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 20539|回复: 4

求教stm32四种spi方式的区别?特别是SPI_Direction_2Lines_RxOnly和SPI_Direction_1Line_RX

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
34
金钱
34
注册时间
2013-11-26
在线时间
0 小时
发表于 2013-12-5 16:49:18 | 显示全部楼层 |阅读模式
我对于这spi的四种模式,有理解障碍。。。请诸位高手看看我的理解对不对。

以被设置的spi作为第一人称,谁爱主谁主。

SPI_Direction_2Lines_FullDuplex:我能给你,也能接受你的。
SPI_Direction_2Lines_RxOnly :只能你给我(那2lines体现在哪里?)
SPI_Direction_1Line_Rx:只能你给我(和上面有什么区别?)
SPI_Direction_1Line_Tx:只能我给你


这是我从其他论坛上看到的,觉得问题提的挺好,自己也不太懂,就转过来问问大家,尤其是原子哥!


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-12-5 20:58:49 | 显示全部楼层
看<STM32参考手册>22.3.4节 单工通信。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 0 反对 1

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2016-8-22
在线时间
11 小时
发表于 2016-10-11 21:21:24 | 显示全部楼层
踩一下 SPI_Direction_2Lines_RxOnly :只能你给我(那2lines体现在哪里?)
SPI_Direction_1Line_Rx:只能你给我(和上面有什么区别?)  这点也有疑问
回复 支持 反对

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2016-8-22
在线时间
11 小时
发表于 2016-10-11 21:33:43 | 显示全部楼层
全双工的意思就是能够同时接收和发送,半双工就是同一时刻只能发送或接收,这样速率就只有全双工的一半。

双线就是要有发送线和接收线
回复 支持 反对

使用道具 举报

3

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2016-8-22
在线时间
11 小时
发表于 2016-10-11 21:34:12 | 显示全部楼层
本帖最后由 dazalei 于 2016-10-11 21:38 编辑

SPI 能够在以下两种配置中以半双工模式工作。
● 1 个时钟和 1 条双向数据线
● 1 个时钟和 1 条数据线(只接收或只发送)
1 个时钟和 1 条双向数据线 (BIDIMODE=1)
可将 SPI_CR1 寄存器中的 BIDIMODE 位置 1 来使能此模式。在此模式下, SCK 用于时
钟, MOSI(主模式下)或 MISO(从模式下)用于数据通信。通过 SPI_CR1 寄存器中的
BIDIOE 位来选择传输方向(输入/输出)。当该位置 1 时,数据线为输出,否则为输入。
1 个时钟和 1 条单向数据线 (BIDIMODE=0)
在此模式下,应用程序可使用 SPI 的只发送或只接收功能。
● 只发送模式类似于全双工模式( BIDIMODE=0、 RXONLY=0):在发送引脚(主模式下
的 MOSI 或从模式下的 MISO)上发送数据,接收引脚(主模式下的 MISO 或从模式下
的 MOSI)可用作通用 IO。在这种情况下,应用程序只需要忽略接收缓冲区(即使读取
数据寄存器,它也不包含接收值)。
● 只接收模式下,应用程序可将 SPI_CR2 寄存器中的 RXONLY 位置 1 来关闭 SPI 输出
功能。在这种情况下,发送 IO 引脚(主模式下的 MOSI 或从模式下的 MISO)可用于
其它用途。
要在只接收模式下开始通信,配置并使能 SPI:
● 在主模式下,通信会立即开始,并在 SPE 位清零且当前接收结束时停止。在此模式下无
需读取 BSY 标志。在进行 SPI 通信时,该标志始终置 1。
● 在从模式下,只要 NSS 被拉低(或在 NSS 软件模式下将 SSI 位清零)并且一直有来自
主器件的 SCK 输入, SPI 就会继续接收。  
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-24 02:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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