打印
[ZLG-ARM]

请指点:图形液晶240*128驱动中的几个疑问!

[复制链接]
1667|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
liutongen|  楼主 | 2007-6-4 09:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/****************************************************************************
* 名称:LCD_UpdatePoint()
* 功能:在指定位置上画点,刷新某一点。
* 入口参数: x        指定点所在列的位置
*           y        指定点所在行的位置
* 出口参数:返回值为1时表示操作成功,为0时表示操作失败。
* 说明:操作失败原因是指定地址超出缓冲区范围。
****************************************************************************/
void  LCD_UpdatePoint(uint32 x, uint32 y)
{  uint32  addr; 
 
   /* 找出目标地址 */
   addr = y*(GUI_LCM_XMAX>>3) + (x>>3);
   LCD_WriteTCommand3(LCD_ADR_POS, addr&0xFF, addr>>8);    // 置地址指针

/* 找出目标地址 */的两行代码是什么意思,请您详细解释一下,谢谢了!

相关帖子

沙发
liutongen|  楼主 | 2007-6-4 10:01 | 只看该作者

还有

/***********************************************************************
* 名称:LCD_WriteTCommand3()
* 功能:写双参数命令子程序。会先判断LCM状态字。
* 入口参数:command      要写入LCM的命令字
*          dat1        参数1
*          dat2        参数2
* 出口参数:操作出错返回0,否则返回1
* 说明:先发送两字节参数据数据,再发送命令字
***********************************************************************/
uint8  LCD_WriteTCommand3(uint8 command, uint8 dat1, uint8 dat2)
{  if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteData(dat1);                // 发送数据1
   
   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteData(dat2);                // 发送数据2
   
   if( LCD_TestStaBit01()==0 ) return(0);
   LCD_WriteCommand(command);        // 发送命令字
   
   return(1);
}
这个函数先发送了两个数据,作为地址,接着发了个命令,但这些数据和命令是如何起作用的,能不能讲一下程序的执行过程!十分感激您的关注和无私帮助!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

20

帖子

0

粉丝