OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6861|回复: 3

跪求, 战舰开发板3.5寸屏幕(RM68042)的开窗函数

[复制链接]

1

主题

2

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-7-31
在线时间
0 小时
发表于 2013-7-31 10:02:11 | 显示全部楼层 |阅读模式

在做UI设计的时候,可以提升ui的流畅度,

//设置窗口
//sx,sy,ex,ey窗口坐标
//窗口大小ex-sx+1)*(ey-ex+1)
//注意,确保ex>=sx;ey>=sy!!!!
//9320/9325/9328/4531/1505/b505/8989等IC已经实际测试   
void LCD_Set_Window(u16 sx,u16 sy,u16 ex,u16 ey)   
{
 u8 hsareg,heareg,vsareg,veareg;
 u16 hsaval,heaval,vsaval,veaval; 
#if USE_HORIZONTAL  //使用横屏 
 //窗口值
 hsaval=sy;    
 heaval=ey;
 vsaval=319-ex;
 veaval=319-sx; 
#else    //竖屏
 //窗口值
 hsaval=sx;    
 heaval=ex;
 vsaval=sy;
 veaval=ey; 
#endif
 if(lcddev.id==0X8989)//
 {
  hsareg=0X44;heareg=0X44;//水平方向窗口寄存器 (1289的由一个寄存器控制)
  hsaval|=(heaval<<8); //得到寄存器值.
  heaval=hsaval;
  vsareg=0X45;veareg=0X46;//垂直方向窗口寄存器  
 }else  //其他驱动IC
 {
  hsareg=0X50;heareg=0X51;//水平方向窗口寄存器
  vsareg=0X52;veareg=0X53;//垂直方向窗口寄存器  
 }         
 //设置寄存器值
 LCD_WriteReg(hsareg,hsaval);
 LCD_WriteReg(heareg,heaval);
 LCD_WriteReg(vsareg,vsaval);
 LCD_WriteReg(veareg,veaval);
}

发现原子哥的这个函数,对RM68042无效,求RM68042版本的开窗函数~

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-31 10:48:21 | 显示全部楼层
回复【楼主位】homixu:
---------------------------------
68042是个奇葩,可应该是可以,不过你得花点时间去折腾了.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手上路

积分
27
金钱
27
注册时间
2013-7-31
在线时间
0 小时
 楼主| 发表于 2013-7-31 11:39:43 | 显示全部楼层
回复【2楼】正点原子:

回复【楼主位】homixu:
---------------------------------
68042是个奇葩,可应该是可以,不过你得花点时间去折腾了.

---------------------------------

刚撸完,测试完毕,可用,下面献上68042的开窗函数 

void LCD_Set_Window( unsigned long xStart,unsigned long yStart,unsigned long xLong, unsigned long yLong  )
{
LCD_WR_REG(0X2A);
LCD_WR_DATA(xStart>>8);
LCD_WR_DATA(xStart&0xff);
LCD_WR_DATA((xStart+xLong)>>8);
LCD_WR_DATA(((xStart+xLong)&0xff)-1);

LCD_WR_REG(0X2B);
LCD_WR_DATA(yStart>>8);
LCD_WR_DATA(yStart&0xff);
LCD_WR_DATA((yStart+yLong)>>8);
LCD_WR_DATA(((yStart+yLong)&0xff)-1);   
}
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-7-31 12:22:47 | 显示全部楼层
回复【3楼】homixu:
---------------------------------
谢谢分享
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-16 03:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表