该怎么配置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设置为单线双向发送
说的很不明白
RE:该怎么配置SPI_Init()函数
你当然要使用“双线双向全双工”方式。SPI_CPOL、SPI_CPHA的设置请参考STM32技术参考手册的549页的图209。
http://www.st.com/stonline/products/literature/rm/13902.pdf
回复:该怎么配置SPI_Init()函数
我用SPI_Direction_2Lines_FullDuplex(SPI设置为双线双向全双工)实验过了,只是仅在发送地址时,时钟线CLK才有脉冲(用示波器观察),接受时根本就没有脉冲,既然STM32作为SPI_Mode_Master,没有脉冲怎么能将字库的数据移出呢?
RE:该怎么配置SPI_Init()函数
只有执行发送才能输出时钟,请看STM32技术参考手册中的框图,发送和接收共用一个移位寄存器。具体程序可以参考STM32库函数包自带的例子,里面有一个操作SPI Flash的例子。
RE:该怎么配置SPI_Init()函数
明白了,原来主设备接收数据时 也要执行发送才能输出 同步时钟.谢谢4楼!NSS
NSS的输出波形是什么样的啊SPI如何初始化才能看到NSS的输出啊
页:
[1]