OpenEdv-开源电子网

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

使用FSMC控制LCD,关节点提问!!!!!!!!!

[复制链接]

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-2-25
在线时间
9 小时
发表于 2016-4-1 10:52:51 | 显示全部楼层 |阅读模式
提问范围:探索者F4 视频盘(B盘)的“第39讲 LCD液晶显示实验讲解-M4”。
提出问题:设置的LCD参数与FSMC怎么配合使用的?
问题详述:教程中提出了“LCD&lcddev结构体”的概念。FSMC的初始化结构体只是设置了读写时序,并没有引用之前定义的“LCD”和“lcddev”结构体。那么,CS、RS、WR、DR等控制信息是怎么由这些结构体转移到FSMC中去的呢?对于初学者来说,这些“信息关节”理解有些困难,希望哪位老师给解释一下,谢谢了!!!
对于教学视频提出一点小小的建议:通过对教学视频的学习(目前学到第60讲,基本都看过两遍以上),感觉视频的逻辑性不是很强。初学者在学习的过程中容易找不到方向,看完视频会觉得不知所云,听取的知识很松散,学习效率较低。以上只是个人的一点粗浅的认识,初衷是希望正点原子的教学更好的发展,如有冒昧的地方请正点原子的诸位老师见谅!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

261

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2014-2-20
在线时间
284 小时
发表于 2016-4-1 11:48:56 | 显示全部楼层
[mw_shl_code=c,true]typedef struct
{
        vu16 LCD_REG;
        vu16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A6作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111 1110=0X7E                            
#define LCD_BASE        ((u32)(0x6C000000 | 0x0000007E))
#define LCD             ((LCD_TypeDef *) LCD_BASE)[/mw_shl_code]
这里利用结构体内部成员对齐的规则 LCD_REG地址:0x6C00007E,bit7为0,vu16两字节对齐,所以LCD_RAM地址为0x6C000080,bit7为1。
A6用于区分数据和命令,A6为1时写数据,A6为0时写命令。HADDR[25:1]对应FSMC_A[24:0],所以bit7是用于区分命令与数据
LCD->LCD_REG=lcddev.wramcmd;          //LCD->LCD_REG是一个地址,bit7为0,对应起来A6(即RS)=0 所以写命令
LCD->LCD_RAM = RGB_Code;//同样,LCD->LCD_RAM也是一个地址,bit7为1,对应起来A6(即RS)=1所以是写数据
综上,结构体LCD对应RS引脚
至于其他几个引脚是FMSC来控制的。
感觉自己说得好乱,不过希望能够帮助你。
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-2-25
在线时间
9 小时
 楼主| 发表于 2016-4-1 12:10:06 | 显示全部楼层
Da Wen 发表于 2016-4-1 11:48
[mw_shl_code=c,true]typedef struct
{
        vu16 LCD_REG;

非常感谢您的帮助!您解释的这个问题我差不多也能理解,就是把某一条地址线当做RS的控制线。其实我问的关键点是,LCD的配置数据是怎么赋值给FSMC的控制寄存器的?(除读写时序以外的配置数据)
回复 支持 反对

使用道具 举报

3

主题

261

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2014-2-20
在线时间
284 小时
发表于 2016-4-1 12:48:45 | 显示全部楼层
地址映射
回复 支持 反对

使用道具 举报

3

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
62
金钱
62
注册时间
2016-2-25
在线时间
9 小时
 楼主| 发表于 2016-4-1 14:41:25 | 显示全部楼层

哦哦,能再说的详细一点吗
回复 支持 反对

使用道具 举报

3

主题

261

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2014-2-20
在线时间
284 小时
发表于 2016-4-6 10:46:23 | 显示全部楼层
hao119music 发表于 2016-4-1 14:41
哦哦,能再说的详细一点吗

原子哥的资料里面有关于FSMC的资料,可以看看
..\..\(A盘)\8,STM32参考资料\4,STM32 FSMC学习资料
回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2015-3-14
在线时间
33 小时
发表于 2016-5-31 16:40:49 | 显示全部楼层
hao119music 发表于 2016-4-1 14:41
哦哦,能再说的详细一点吗

你好,我现在想到一个问题,假如一个单片机和一块外扩的ram一起工作,假如单片机的0x6c000000是访问外扩的ram,那么单片机内部没有这个地址么,像gpio相关的操作设计的寄存器都有地址。
回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2015-3-14
在线时间
33 小时
发表于 2016-5-31 16:42:51 | 显示全部楼层

因为ram为外扩的芯片,所以我猜单片机内部肯定没有这个地址,假如有这个地址空间的话那外扩就没意义了,是不是,但是这怎么理解内
回复 支持 反对

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11475
金钱
11475
注册时间
2014-4-1
在线时间
1297 小时
发表于 2016-5-31 16:48:57 | 显示全部楼层
阿凯 发表于 2016-5-31 16:42
因为ram为外扩的芯片,所以我猜单片机内部肯定没有这个地址,假如有这个地址空间的话那外扩就没意义了, ...


你理解基本是对的。


回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2015-3-14
在线时间
33 小时
发表于 2016-5-31 16:53:15 | 显示全部楼层
xuande 发表于 2016-5-31 16:48
你理解基本是对的。

趁热在问下,32位的mcu能够寻址4G的空间,但是有些单片机,的存储容量并没有4G这个是说明有些地址存在但是没有实体的空间,内部有一部分ram是有空间的,但是太小,所以要用到外扩,然后那些没有实体的空间地址这就被赋予了空间(外扩芯片上的空间),这样可以用那些地址了,是这样的么,
回复 支持 反对

使用道具 举报

58

主题

6293

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11475
金钱
11475
注册时间
2014-4-1
在线时间
1297 小时
发表于 2016-5-31 16:57:49 | 显示全部楼层
阿凯 发表于 2016-5-31 16:53
趁热在问下,32位的mcu能够寻址4G的空间,但是有些单片机,的存储容量并没有4G这个是说明有些地址存在但 ...


基本是这样吧。
但你的表述真别扭,语文啊。


回复 支持 反对

使用道具 举报

5

主题

36

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
208
金钱
208
注册时间
2015-3-14
在线时间
33 小时
发表于 2016-5-31 17:07:22 | 显示全部楼层
xuande 发表于 2016-5-31 16:57
基本是这样吧。
但你的表述真别扭,语文啊。

哈哈哈语文是数学老师交的
回复 支持 反对

使用道具 举报

5

主题

158

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
200
金钱
200
注册时间
2016-5-29
在线时间
5 小时
发表于 2016-5-31 17:10:21 | 显示全部楼层
路过帮顶
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 11:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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