关于LCD_REG和LCD_RAM的疑问

2019-07-21 07:57发布

前提我知道RS和A10的对应关系了,FSMC和LCD的D15~0分别对应,但这里我不明白的是:
比如我们要操作1602液晶,要先把RS=0,写命令,然后RS=1,写数据,是这样的过程;
而对TFTLCD操作时,我知道LCD_REG的值对应RS=0读操作,LCD_RAM的值对应RS=1写操作,但是不知道为什么一个LCD->LCD_REG=lcddev.wramcmd(0X2C);   指令就把0x2c写到了LCD的D15~0里了,我理解的是这个指令只是把0X2C写到了0X6C00,07FE里,而0X6C00,07FE怎么就和LCD的D15~0对应起来了?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
正点原子
1楼-- · 2019-07-21 10:34
这是硬件自动控制的。。。
wangyueming
2楼-- · 2019-07-21 12:20
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-21 15:53
回复【3楼】wangyueming:
---------------------------------
名字不重要,重要的是结果。
林楚涛
4楼-- · 2019-07-21 17:10
正点原子 发表于 2015-8-27 18:31
这是硬件自动控制的。。。

是不是意思就是FSMC中对地址赋值,会自动写入对应的储存空间中,而不是像gpio时候的得先输入命令指定储存空间,再输入数据对写入空间?
林楚涛
5楼-- · 2019-07-21 20:38
正点原子 发表于 2015-8-27 18:31
这是硬件自动控制的。。。

好像也有点不对啊,比如我往LCD_RAM里面写数据0x00,根据:
typedef struct
{
        vu16 LCD_REG;
        vu16 LCD_RAM;
} LCD_TypeDef;
            
#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)

那0x00是直接写到7FF里面吗?

一周热门 更多>