OpenEdv-开源电子网

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

关于2.8寸屏的多层显示和Alpha混合

[复制链接]

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-4-20
在线时间
0 小时
发表于 2015-5-12 20:45:59 | 显示全部楼层 |阅读模式
5金钱
开发板  战舰mini
开发GUI  STemWin V5.22

驱动ILI9341的2.8寸屏 支持多层显示吗?
如果支持LCD_X_Config(void) 该怎样设置第二层

Alpha混合技术 能在迷你板上实现吗
我的为啥是这样的

[mw_shl_code=c,true]void LCD_X_Config(void) { GUI_DEVICE * pDevice; CONFIG_FLEXCOLOR Config = {0}; GUI_PORT_API PortAPI = {0}; pDevice = GUI_DEVICE_CreateAndLink(GUIDRV_FLEXCOLOR, GUICC_565, 0, 0); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); Config.FirstCOM = 0; Config.FirstSEG = 0; Config.Orientation = 0; // Config.Orientation = GUI_SWAP_XY | GUI_MIRROR_Y; Config.NumDummyReads = 2; GUIDRV_FlexColor_Config(pDevice, &Config); PortAPI.pfWrite16_A0 = LcdWriteReg; PortAPI.pfWrite16_A1 = LcdWriteData; PortAPI.pfWriteM16_A1 = LcdWriteDataMultiple; PortAPI.pfReadM16_A1 = LcdReadDataMultiple; GUIDRV_FlexColor_SetFunc(pDevice, &ortAPI, GUIDRV_FLEXCOLOR_F66709, GUIDRV_FLEXCOLOR_M16C0B16); //modify by fire ?GUIDRV_FLEXCOLOR_F66708 }[/mw_shl_code]
在线等大神

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

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-4-20
在线时间
0 小时
 楼主| 发表于 2015-5-12 20:49:29 | 显示全部楼层
static void LcdReadDataMultiple(U16 * pData, int NumItems) {
  while (NumItems--) {
*pData++ = LCD_GetPoint();
  }
}

U16 LCD_GetPoint(void)
{
    U16 r,g,b;  
LCD_WR_REG(0X2E); //9341/6804/5310发送读GRAM指令
GPIOB->CRL=0X88888888; //PB0-7  上拉输入
GPIOB->CRH=0X88888888; //PB8-15 上拉输入
GPIOB->ODR=0XFFFF;     //全部输出高

LCD_RS_SET;
LCD_CS_CLR;     
//读取数据(读GRAM时,第一次为假读)
LCD_RD_CLR;
  __NOP();    
LCD_RD_SET;
  //dummy READ
LCD_RD_CLR;    
__NOP();//延时1us    
  r=DATAIN;   //实际坐标颜色
LCD_RD_SET;
  
LCD_RD_CLR;    
b=DATAIN;//读取蓝色值     
  LCD_RD_SET;
g=r&0XFF;//对于9341,第一次读取的是RG的值,R在前,G在后,各占8位
g<<=8;

LCD_CS_SET;
GPIOB->CRL=0X33333333;  //PB0-7  上拉输出
GPIOB->CRH=0X33333333;  //PB8-15 上拉输出
GPIOB->ODR=0XFFFF;     //全部输出高  

return (((r>>11)<<11)|((g>>10)<<5)|(b>>11));//ILI9341/NT35310/NT35510需要公式转换一下



}

总感觉读点函数不对  谁能详细解释下 为啥怎么写读点函数
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-4-20
在线时间
0 小时
 楼主| 发表于 2015-5-12 21:35:53 | 显示全部楼层
快来人啊   大神
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165287
金钱
165287
注册时间
2010-12-1
在线时间
2107 小时
发表于 2015-5-12 22:17:58 | 显示全部楼层
帮顶下。。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-5-12 22:20:48 | 显示全部楼层
这个跟LCD硬件有没有多层显示没有关系,你就一个一个的画就行了,SEGGER官方就用这个例程的,你可以去参考一下
开往春天的手扶拖拉机
回复

使用道具 举报

120

主题

7877

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12010
金钱
12010
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-5-12 22:24:29 | 显示全部楼层
4楼说的不错,这个和你的硬件没关系,软件模拟层数就是了,手机的UI显示也是软件模拟处理的层
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-4-20
在线时间
0 小时
 楼主| 发表于 2015-5-13 08:50:08 | 显示全部楼层
回复【5楼】zuozhongkai:
---------------------------------
官方的 stemWin 在vs中可以运行    而且官网给的例程是 ucGUI的   
哎 资料太老了
回复

使用道具 举报

2

主题

7

帖子

0

精华

新手上路

积分
35
金钱
35
注册时间
2015-4-20
在线时间
0 小时
 楼主| 发表于 2015-5-13 08:52:25 | 显示全部楼层
回复【5楼】zuozhongkai:
---------------------------------
说得对   这个 LcdReadDataMultiple(U16 * pData, int NumItems) 读点函数   自己应该怎么写 
  mini板例程中只有 LCD_GetPoint(x,y).
回复

使用道具 举报

88

主题

7377

帖子

5

精华

资深版主

Rank: 8Rank: 8

积分
14980
金钱
14980
注册时间
2013-11-13
在线时间
1823 小时
发表于 2015-5-13 09:50:41 | 显示全部楼层
回复【7楼】tamqiog:
---------------------------------
什么资料太老了?为什么我在segger官网中看到的都是stemwin的例程LcdReadDataMultiple()函数你不需要写,如果是在emwin中,读点函数就是 _GetPixelIndex()
开往春天的手扶拖拉机
回复

使用道具 举报

1

主题

231

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2868
金钱
2868
注册时间
2018-1-24
在线时间
256 小时
发表于 2018-1-24 13:37:12 | 显示全部楼层

我现在移植EMWIN5.32B的也是这样子,好像用官方默认的读点是不行的,要用GUIDRV_Template.c里面的定义自己的打点读点函数,不然ILI9341  Alpha混合永远调不通的

有谁用过ILI9341连续读点函数,下面的驱动该怎么写,欢迎交流
static void LcdReadDataMultiple(U16 * pData, int NumItems) {           
  while (NumItems--) {
                *pData++ =LCD_9341->LCD_RAM;
  }
}:


'(
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-2 04:26

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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