不理解的函数如下:
/************************************************************************/
//写寄存器函数
//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挂钩?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
---------------------------------
命令这些通过datasheet来我知道,但是LCD的控制为何通过赋值就可以达到我们的目的的?这点没弄明白
---------------------------------
1,看LCD驱动IC的数据手册。
2,看FSMC的驱动模型。
3,参考别人的代码。
4,综合。
一周热门 更多>