综合技术
直播中

孙瑞军

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

请问SPI该怎么发送9bits数据?


      如图,可以看到这个是LCD驱动的时序图,它是要发 9bits(第一位是D/C,为“1“代表数据,为“0”代表命令),想用硬件SPI驱动,三线,SDA(MOSI)、SCL(SCLK)、CSX、
(CS),MISO没有使用。
      可我们知道SPI只能发送 8bits或者16bits数据,那么怎么发送出9位呢?
      说明:用STM32F4系列的板子,LCD驱动为ST7789. 有人提出说,每次将SPI的MOSI先设置为通用IO口来置0或者置1,然后再修改为复用SPI-MOSI,这样每次发送命令或者数据前都得修改,想请问大家还有没有其他好的方法?

回帖(4)

高阳

2019-9-27 09:07:29
自己io软件模拟一个
举报

魏紫瑜

2019-9-27 09:21:37
恩恩,软件模拟SPI通信协议也算是一个方法,可现在想用用硬件SPI,请问还有其他方法吗?
举报

史靖文

2019-9-27 09:39:55
我觉得可以直接发16bit试试,多余的几个高位应该会被忽略,如果低位被忽略了就先左移再发
举报

邱强

2020-6-25 15:31:27
楼主你找到好的办法了吗?我也是同一款屏的LCD驱动芯片,用的是硬件SPI。始终读出的ID不对
举报

更多回帖

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