打印
[STM32F1]

SPI配置成单线双向模式,管脚IO怎么配置

[复制链接]
6029|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
戈卫东|  楼主 | 2014-4-27 18:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如和ST7920用SPI连接,需要这样弄,单数据线双向MASTER模式,不清楚IO配置怎么搞....
还有当方向切换时,需要改变IO设置么?
先谢谢了.
沙发
airwill| | 2014-4-27 20:15 | 只看该作者
外设模式, 从编程手册看, 只是说到 "在使能SPI模块之前,需要在SPI_CR2寄存器中同时设置BIDIMODE和BIDIOE位为’1’。"
估计不需要更改管脚, 设备自动会设置输入输出条件. 也可以测试一下.

使用特权

评论回复
板凳
mmuuss586| | 2014-4-27 20:21 | 只看该作者
开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,

才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于

是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变。可以读

IO输入电平变化,实现C51的IO双向功能

使用特权

评论回复
地板
mmuuss586| | 2014-4-27 20:22 | 只看该作者
设置成开漏输出就可以了;
切换方向的时候,不需要更改IO设置

使用特权

评论回复
5
戈卫东|  楼主 | 2014-4-28 15:27 | 只看该作者
这个问题起因是想用SPI硬件操作ST7920液晶模块。
我想用“读忙标志”来实现模块的快速操作,不过没有成功(总是立即返回0,导致LCD操作不成功)。现在是用延时实现的。
--------
至于SPI的部分,我仔细看了ST的手册,得到如下结论:SPI用双向单数据线模式时,MOSI管脚配置成“AF-PP”是可以的,清除BIDIOE切换到输入模式时,SPI会自动把这个管脚切换到输入模式。

使用特权

评论回复
6
戈卫东|  楼主 | 2014-4-28 15:33 | 只看该作者
还有,发现不能用TXE信号来作为切换到输入的依据,而应该用BSY信号。如果检测到TXE信号就清除DIDIOE,将导致发送的字节实际无法发送出去。

使用特权

评论回复
7
lijunyu2005| | 2016-9-2 09:14 | 只看该作者
请问信号线输出转输入是怎么切换的,可不可以提供一下代码看看

使用特权

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

本版积分规则

136

主题

11708

帖子

75

粉丝