OpenEdv-开源电子网

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

对LCD的几个读写数据和寄存器的函数不理解

[复制链接]

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
发表于 2015-12-18 21:15:36 | 显示全部楼层 |阅读模式
5金钱
不理解的函数如下:
/************************************************************************/
//写寄存器函数
//regval:寄存器值
void LCD_WR_REG(vu16 regval)
{   
regval=regval; //使用-O2优化的时候,必须插入的延时
LCD->LCD_REG=regval;//写入要写的寄存器序号  
}
//写LCD数据
//data:要写入的值
void LCD_WR_DATA(vu16 data)
{  
data=data; //使用-O2优化的时候,必须插入的延时
LCD->LCD_RAM=data;  
}
//读LCD数据
//返回值:读到的值
u16 LCD_RD_DATA(void)
{
vu16 ram; //防止被优化
ram=LCD->LCD_RAM;
return ram;  
}   
//写寄存器
//LCD_Reg:寄存器地址
//LCD_RegValue:要写入的数据
void LCD_WriteReg(u16 LCD_Reg,u16 LCD_RegValue)
{
LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号  
LCD->LCD_RAM = LCD_RegValue;//写入数据      
}   
//读寄存器
//LCD_Reg:寄存器地址
//返回值:读到的数据
u16 LCD_ReadReg(u16 LCD_Reg)
{   
LCD_WR_REG(LCD_Reg); //写入要读的寄存器序号
delay_us(5);  
return LCD_RD_DATA(); //返回读到的值
}   
/******************************************************************/

问题:
1.在这几函数中,在对变量赋值的时候,具体是如何达到我们控制LCD的目的的?
2.在发送寄存器命令之后,我们是如何知道我们寄存器的参数是被传到了变量LCD->LCD_RAM中?
3.传送到LCD->LCD_RAM的数据又是如何和GRAM挂钩?

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

使用道具 举报

3

主题

2165

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
5771
金钱
5771
注册时间
2013-11-22
在线时间
1211 小时
发表于 2015-12-18 22:22:42 | 显示全部楼层
这是fsmc 控制的    我们主要搞懂读写命令和数据就行了
回复

使用道具 举报

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
 楼主| 发表于 2015-12-18 23:38:15 | 显示全部楼层
回复【2楼】lycreturn:
---------------------------------
我随便往一个变量里边读/写,那么我咋知道我传输的数据去了哪儿?又如何达到我们控制LCD的目的呢,
我们又怎么确定这样就可以达到我们的目的?咱不能人云亦云,人家说这么做,确实是有其原因的,
但咱也需要去整明白啊,要是下次LCD在哪儿出了问题,难道还要再次去求人家么?
干嘛不一次把自己的思路整明白呢?咱做事不能稀里糊涂去做...
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-12-19 13:56:00 | 显示全部楼层
回复【3楼】willsmith:
---------------------------------
去看FSMC章节,看个十遍八遍先。
然后再看我们的《STM32开发指南》,LCD显示实验章节。
然后,再看我们的视频教程。

然后还不懂的话,电话我。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
 楼主| 发表于 2015-12-19 13:57:09 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
我看行
回复

使用道具 举报

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
 楼主| 发表于 2015-12-19 14:08:33 | 显示全部楼层
回复【5楼】willsmith:
---------------------------------
原子哥,你咋知道是这种操作方式呢?能透漏透漏么?实在不解,每个函数里边的赋值,其真实的意义何在?
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-19 20:51:45 | 显示全部楼层
回复【6楼】willsmith:
---------------------------------
LCD厂家会发布屏幕初始化代码,同时在主控的datasheet中会给出所有命令的说明和取值,用户根据需要进行编程
回复

使用道具 举报

21

主题

51

帖子

0

精华

初级会员

Rank: 2

积分
140
金钱
140
注册时间
2015-12-4
在线时间
10 小时
 楼主| 发表于 2015-12-20 14:49:34 | 显示全部楼层
回复【7楼】ricefat:
---------------------------------
命令这些通过datasheet来我知道,但是LCD的控制为何通过赋值就可以达到我们的目的的?这点没弄明白
回复

使用道具 举报

3

主题

2178

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3323
金钱
3323
注册时间
2013-7-19
在线时间
195 小时
发表于 2015-12-20 20:20:53 | 显示全部楼层
回复【8楼】willsmith:
---------------------------------
去看看FSMC相关的东西吧。
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2015-12-20 22:48:29 | 显示全部楼层
回复【6楼】willsmith:
---------------------------------
1,看LCD驱动IC的数据手册。
2,看FSMC的驱动模型。
3,参考别人的代码。
4,综合。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2020-1-9
在线时间
8 小时
发表于 2020-4-1 17:15:05 | 显示全部楼层
请问你整明白了吗?时隔五年,我现在有跟你当时一样的想法,没搞明白不想含糊过,麻烦指点一下
回复

使用道具 举报

1

主题

6

帖子

0

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2020-7-21
在线时间
11 小时
发表于 2020-7-23 18:10:18 | 显示全部楼层
看到lcd我完全懵逼
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-30 19:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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