STM32/STM8技术william hill官网
直播中

翁愿冠

7年用户 240经验值
私信 关注
[问答]

请问该怎么配置SPI_Init()函数

我用SPI读字库数据,先用 MOSI 发地址, 再用 MISO 接受数据,
串行数据输出(SO):该信号用来把数据从芯片串行输出,数据在时钟的下降沿移出。
串行数据输入(SI):该信号用来把数据从串行输入芯片,数据在时钟的上升沿移入。
串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出。
该怎么配置SPI_Init()函数, 特别是SPI_Direction和SPI_ SPI_CPOL, SPI_SPI_CPHA

SPI_Direction_2Lines_FullDuplex
SPI设置为双线双向全双工
SPI_Direction_2Lines_RxOnly
SPI设置为双线单向接收
SPI_Direction_1Line_Rx
SPI设置为单线双向接收
SPI_Direction_1Line_Tx
SPI设置为单线双向发送

说的很不明白

回帖(4)

翁愿冠

2018-8-24 15:54:13
我用SPI_Direction_2Lines_FullDuplex(SPI设置为双线双向全双工)
实验过了,只是仅在发送地址时,时钟线CLK才有脉冲(用示波器观察),接受时根本就没有脉冲,既然STM32作为SPI_Mode_Master,没有脉冲怎么能将字库的数据移出呢?
举报

徐昕

2018-8-24 16:02:13
只有执行发送才能输出时钟,请看STM32技术参考手册中的框图,发送和接收共用一个移位寄存器。
具体程序可以参考STM32库函数包自带的例子,里面有一个操作SPI Flash的例子。
举报

翁愿冠

2018-8-24 16:16:50
明白了,原来主设备接收数据时 也要执行发送才能输出 同步时钟.谢谢4楼!
举报

张涛

2018-8-24 16:23:26
NSS的输出波形是什么样的啊
SPI如何初始化才能看到NSS的输出啊
举报

更多回帖

发帖
×
20
完善资料,
赚取积分