OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9273|回复: 6

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

[复制链接]

18

主题

42

帖子

0

精华

初级会员

Rank: 2

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


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11555
金钱
11555
注册时间
2014-4-1
在线时间
1317 小时
发表于 2015-12-16 21:39:19 | 显示全部楼层
CS (片选)AO(命令)和SDA(数据)
LCD驱动只有这三根线?
表示怀疑。

这一点必须搞清楚。
回复

使用道具 举报

18

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2015-11-12
在线时间
34 小时
 楼主| 发表于 2015-12-17 16:47:49 | 显示全部楼层
回复【2楼】xuande:
---------------------------------
  这个LCD共8 条线  VCC GND CS REST AO SDA SCK LED    请教楼主如何开启STM32单线双向SPI?
回复

使用道具 举报

18

主题

238

帖子

3

精华

金牌会员

Rank: 6Rank: 6

积分
1823
金钱
1823
注册时间
2014-8-5
在线时间
211 小时
发表于 2015-12-17 20:00:09 | 显示全部楼层
回复【3楼】踏雪寻玫:
---------------------------------
楼主,SPI的LCD是无法读取数据的,网上那些可以用SPI驱动的屏都是2线SPI(片选CS没算在内),也就是一个时钟SCK、一个数据SDA。楼主的这个屏也是这样的,VCC和GND不用说,REST复位引脚,AO我猜应该是命令、数据选择引脚,SDA数据,SCK时钟,LED背光。

两线半双工SPI与三线全双工SPI在库函数配置时都是一样的,只是配置为两线SPI时MISO不配置为复用功能,为IO功能就行,这样SPI就工作在两线只发送模式。如果想加快刷屏速度和减小CPU负担,可以采用DMA方式。
  SPI其它工作模式具体说明请参考中文数据SPI章节。

 驱动SPI OLED 工程代码请参考:  http://openedv.com/posts/list/0/63761.htm?privmsg=25465&&sysid=4#363554  
 第21楼
回复

使用道具 举报

18

主题

42

帖子

0

精华

初级会员

Rank: 2

积分
196
金钱
196
注册时间
2015-11-12
在线时间
34 小时
 楼主| 发表于 2015-12-18 11:22:20 | 显示全部楼层
回复【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几乎没有改动,但是就是只能写数据不能读,

  谢谢
回复

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
197
金钱
197
注册时间
2016-10-24
在线时间
47 小时
发表于 2017-8-6 14:09:11 | 显示全部楼层
楼主解决了吗?能分享下怎么解决的吗?
回复

使用道具 举报

1

主题

63

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1820
金钱
1820
注册时间
2015-11-30
在线时间
255 小时
发表于 2018-12-10 16:55:17 | 显示全部楼层

楼主解决了吗?能分享下怎么解决的吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-22 13:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表