对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挂钩?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。