请教SPI 单线双向接收如何使用

2019-07-21 06:58发布

我现在手里有一块三线SPI 1.8寸液晶,我用模拟SPI驱动刷屏太慢,LCD驱动芯片是ST7735,打算改用STM32硬件SPI可是LCD 的SPI只有三根线,CS (片选)AO(命令)和SDA(数据),液晶的读写数据都通过SDA线进行的,我在STM32的参考手册上看到他的SPI有:  单线双向接收 和 单线双向发送的功能,我对这两种功能不了解,我大部分时间都是通STM32给
LCD发送数据,只有用到读点函数的时候才会接收LCD的数据,请教原子哥,我应该设置成哪种模式,单线双向接收,是指的一根线既能发送也能接收吗?,


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
踏雪寻玫
2019-07-21 17:56
回复【4楼】513393302@qq.com:
---------------------------------
我的这个SPI LCD确实可以读取数据的,读取数据只用 CLK  和SDA ,CS  ,读取数据的时候是先设定好地址然发送八位读命令,设定SDA为输入模式后,就可以接收数据了,目前这个读的功能我已经采用模拟SPI的方式实现了,现在我是想通过硬件SPI实现发送和读取的功能,现在我用原子的SPI例程 修改里这一句
把SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex改成SPI_InitStructure.SPI_Direction = SPI_Direction_1Line_Tx 这种模式,我觉得这种应该是单线单向发送模式,接受的时候改成SPI_Direction_1Line_Rx T不知道我这种理解对不对哦,改完后我在板子上跑了一下,发现刷屏速度超级慢,不知道是不是还有别的地方需要设置,
希望楼上的几位大侠帮我看看,还有一点就是我通过emWin 显示一个40x40的图片要十几秒钟,而不用emWin刷屏却很快
不知道什么什么原因我是直接用原子SPI例程SPI1几乎没有改动,但是就是只能写数据不能读,

  谢谢

一周热门 更多>