首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
数字电路
» stm32f4开发板驱动LCD液晶屏的个人总结
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
stm32f4开发板驱动LCD液晶屏的个人总结
发短消息
加为好友
yuchengze
当前离线
UID
1062083
帖子
5837
精华
0
积分
2921
阅读权限
70
在线时间
222 小时
注册时间
2016-6-30
最后登录
2018-9-9
金牌会员
UID
1062083
性别
男
1
#
打印
字体大小:
t
T
yuchengze
发表于 2018-6-23 20:56
|
只看该作者
stm32f4开发板驱动LCD液晶屏的个人总结
触摸屏是以前购买火牛的时候带的一块LCD屏,屏上有HY32D字样,里面含有控制电路,相关硬件是SSD1289和ADS7843,SSD1289控制LCD,ADS7843通过SPI控制触摸屏。
配合开发板附带的测试代码,总是不明白FSMC的工作原理,因为没有看到如何选择哪个块,哪个区,而且硬件电路也没看很懂。
总结如下
1、NEx是四个块的第一块的4个区(每个64M)的选择信号,比如你选择FSMC_Bank1_NORSRAM4,即NE4,你要做的就是把NE4的GPIO脚设置成复用,其他就不用管了,因为这个NE4会自动控制,不需要人为控制它的高低,比如在读写数据的时候它自动会低,所以硬件上可以将这个脚跟LCD的片选CS接一起。
2、相关的还有RD、WR脚也不需要自己控制,复用完就可以了
3、还有文档里有HADDR[27:26]这个量,搞了半天,原来这货是内部的,你是看不到,控制不了的,它的意思是说第一块的四个区的选择可以表现到这2bit上,就是说,你选了NE4,HADDR[27:26]的值就是11;选了NE1,HADDR[27:26]的值就是00。
4、看下面的图,这个LCD的CS由三个脚控制,看了下这个74LVC139,发现它的规律有一项是1脚为低且2、3脚为高,7脚才为低。所以我一直没搞明白的两句代码
#define LCD_REG (*((volatile unsigned short *) 0x6F000000)) /* RS = 0 */
#define LCD_RAM (*((volatile unsigned short *) 0x6F010000)) /* RS = 1 */
就可以解释了。因为这个地址如果按手册上讲应该是可以写成0x6cxxxxxx的,为什么写成0x6F呢,就是为了把A23和A24一直拉高,所以在读写数据的时候NE4又会自动变低,这个时候的LCD_CS 就低了,此时数据读写什么的都不成问题了。其实可以看到这个地址的高8位--0x6C的后4bit是1100,其中11按照地址总线算应该是第27、26位,因为是16位宽度的,所以地址都右移了一位,那么A23和24对应的就是1100的00两位,所以是0x6F了。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议