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

2019-07-21 00:35发布

不理解的函数如下:
/************************************************************************/
//写寄存器函数
//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挂钩?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
9条回答
willsmith
1楼-- · 2019-07-22 04:44
回复【7楼】ricefat:
---------------------------------
命令这些通过datasheet来我知道,但是LCD的控制为何通过赋值就可以达到我们的目的的?这点没弄明白
ricefat
2楼-- · 2019-07-22 10:04
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-22 14:25
回复【6楼】willsmith:
---------------------------------
1,看LCD驱动IC的数据手册。
2,看FSMC的驱动模型。
3,参考别人的代码。
4,综合。

一周热门 更多>