OpenEdv-开源电子网

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

请问如下有关TFTLCD的问题:

[复制链接]

25

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2016-1-1
在线时间
42 小时
发表于 2016-2-24 16:49:28 | 显示全部楼层 |阅读模式
1金钱
1.typedef struct{
        vu16 LCD_REG;这个值是代表寄存器的序号吗?
        vu16 LCD_RAM;这个值是代表寄存器的内容吗?
} LCD_TypeDef;
2.//写寄存器函数
//regval:寄存器值
void LCD_WR_REG(u16 regval)
{
LCD->LCD_REG=regval; //写入要写的寄存器序号
}
//写 LCD 数据
//data:要写入的值
void LCD_WR_DATA(u16 data)
{
LCD->LCD_RAM=data;
}






//写寄存器
//LCD_Reg:寄存器地址
//LCD_RegValue:要写入的数据
void LCD_WriteReg(u16 LCD_Reg, u16 LCD_RegValue)
{
LCD->LCD_REG = LCD_Reg; //写入要写的寄存器序号
LCD->LCD_RAM = LCD_RegValue; //写入数据
}

这两组函数作用一样吗?

最佳答案

查看完整内容[请看2#楼]

一个是分开的指令,一个是组合一起的; 后者主要用于对屏执行单参数的初始化方便,前者独立使用可用于写图片数据
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

167

帖子

0

精华

高级会员

Rank: 4

积分
552
金钱
552
注册时间
2013-12-15
在线时间
29 小时
发表于 2016-2-24 16:49:29 | 显示全部楼层
一个是分开的指令,一个是组合一起的; 后者主要用于对屏执行单参数的初始化方便,前者独立使用可用于写图片数据
我是初学者
专注显示科技 - - - 让每一DOT诠释生命的精彩
TFT显示屏:   https://boy-display.taobao.com
回复

使用道具 举报

25

主题

48

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
269
金钱
269
注册时间
2016-1-1
在线时间
42 小时
 楼主| 发表于 2016-2-24 20:26:29 | 显示全部楼层
谢谢,请问第一个问题中结构体中两个变量各自代表什么?
回复

使用道具 举报

9

主题

167

帖子

0

精华

高级会员

Rank: 4

积分
552
金钱
552
注册时间
2013-12-15
在线时间
29 小时
发表于 2016-2-24 22:57:55 | 显示全部楼层
REG代表寄存器地址,RAM代表要写入该地址的内容
我是初学者
专注显示科技 - - - 让每一DOT诠释生命的精彩
TFT显示屏:   https://boy-display.taobao.com
回复

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
124
金钱
124
注册时间
2016-1-17
在线时间
18 小时
发表于 2016-12-26 20:36:55 | 显示全部楼层
2.//写寄存器函数
//regval:寄存器值
void LCD_WR_REG(u16 regval)
{
LCD->LCD_REG=regval; //写入要写的寄存器序号
}

这个寄存器序号是谁的寄存器啊?怎样理解这个寄存器?
回复

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-12-26 22:32:32 | 显示全部楼层
本帖最后由 来俩不甜的 于 2016-12-26 22:35 编辑
1612103064 发表于 2016-12-26 20:36
2.//写寄存器函数
//regval:寄存器值
void LCD_WR_REG(u16 regval)

这个就说来话长了。简单点说cpu通过fsmc控制lcd,而LCD->REG对应的地址刚好是nor/psram的地址,然而stm32内部是没有这个东西的,所以需要外接。此时stm32的引脚充当地址线、数据线。想往sram芯片的1地址写数据,则与地址线相应的gpio就会输出0x0001,也就是说有某一个gpio输出的是高电平,而其它的输出低电平.LCD->REG对应的地址(看原理图)刚好是lcd 的数据、命令控制线。大概就是这么回事,具体的多看几遍书就能理解了。                            时间太久记不清了,我都是复制黏贴用的。模糊的记得,你问的这个问题谁的寄存器都不是,只是对应ssd1963的一条控制线,高电平表示输入的是命令,低电平表示输入的是参数。
我有故事,你有酒吗
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-29 04:05

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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