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

[复制链接]
 楼主| 戈卫东 发表于 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设置
 楼主| 戈卫东 发表于 2014-4-28 15:27 | 显示全部楼层
这个问题起因是想用SPI硬件操作ST7920液晶模块。
我想用“读忙标志”来实现模块的快速操作,不过没有成功(总是立即返回0,导致LCD操作不成功)。现在是用延时实现的。
--------
至于SPI的部分,我仔细看了ST的手册,得到如下结论:SPI用双向单数据线模式时,MOSI管脚配置成“AF-PP”是可以的,清除BIDIOE切换到输入模式时,SPI会自动把这个管脚切换到输入模式。
 楼主| 戈卫东 发表于 2014-4-28 15:33 | 显示全部楼层
还有,发现不能用TXE信号来作为切换到输入的依据,而应该用BSY信号。如果检测到TXE信号就清除DIDIOE,将导致发送的字节实际无法发送出去。
lijunyu2005 发表于 2016-9-2 09:14 | 显示全部楼层
请问信号线输出转输入是怎么切换的,可不可以提供一下代码看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

136

主题

11708

帖子

75

粉丝
快速回复 在线客服 返回列表 返回顶部