OpenEdv-开源电子网

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

显存更新方向设置,下图中的图形是怎么形成的?

[复制链接]

69

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2014-6-21
在线时间
0 小时
发表于 2014-8-18 11:04:26 | 显示全部楼层 |阅读模式
5金钱


能不能拿着一个设置方式给讲一下?

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

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2014-8-18 12:46:23 | 显示全部楼层
坐等大神,帮顶。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复

使用道具 举报

3

主题

48

帖子

0

精华

初级会员

Rank: 2

积分
96
金钱
96
注册时间
2012-10-15
在线时间
4 小时
发表于 2014-8-18 14:20:59 | 显示全部楼层
帮顶,一直也很想了解清楚
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-19 00:41:33 | 显示全部楼层
这个,自己写代码测试。
就知道结果如何了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

69

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2014-6-21
在线时间
0 小时
 楼主| 发表于 2014-8-19 09:43:06 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
改了一下LCD_Init()中此参数的设置,但对显示结果并没有什么影响啊?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-19 23:23:24 | 显示全部楼层
回复【5楼】mengxiao1980:
---------------------------------
慢慢测试
用LCD_Clear函数测试.
每画一个点,加延时
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

69

主题

173

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
469
金钱
469
注册时间
2014-6-21
在线时间
0 小时
 楼主| 发表于 2014-8-20 10:55:47 | 显示全部楼层
按你说的clear函数测试,不知为什么修改此参数后显示方向并没有什么改变?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2014-8-20 21:18:09 | 显示全部楼层
好好研究下我们的这个函数:
[mw_shl_code=c,true]//设置LCD的自动扫描方向 //注意:其他函数可能会受到此函数设置的影响(尤其是9341/6804这两个奇葩), //所以,一般设置为L2R_U2D即可,如果设置为其他扫描方式,可能导致显示不正常. //dir:0~7,代表8个方向(具体定义见lcd.h) //9320/9325/9328/4531/4535/1505/b505/8989/5408/9341/5310/5510等IC已经实际测试 void LCD_Scan_Dir(u8 dir) { u16 regval=0; u16 dirreg=0; u16 temp; u16 xsize,ysize; if(lcddev.dir==1&&lcddev.id!=0X6804)//横屏时,对6804不改变扫描方向! { switch(dir)//方向转换 { case 0:dir=6;break; case 1:dir=7;break; case 2:dir=4;break; case 3:dir=5;break; case 4:dir=1;break; case 5:dir=0;break; case 6:dir=3;break; case 7:dir=2;break; } } if(lcddev.id==0x9341||lcddev.id==0X6804||lcddev.id==0X5310||lcddev.id==0X5510)//9341/6804/5310/5510,很特殊 { switch(dir) { case L2R_U2D://从左到右,从上到下 regval|=(0<<7)|(0<<6)|(0<<5); break; case L2R_D2U://从左到右,从下到上 regval|=(1<<7)|(0<<6)|(0<<5); break; case R2L_U2D://从右到左,从上到下 regval|=(0<<7)|(1<<6)|(0<<5); break; case R2L_D2U://从右到左,从下到上 regval|=(1<<7)|(1<<6)|(0<<5); break; case U2D_L2R://从上到下,从左到右 regval|=(0<<7)|(0<<6)|(1<<5); break; case U2D_R2L://从上到下,从右到左 regval|=(0<<7)|(1<<6)|(1<<5); break; case D2U_L2R://从下到上,从左到右 regval|=(1<<7)|(0<<6)|(1<<5); break; case D2U_R2L://从下到上,从右到左 regval|=(1<<7)|(1<<6)|(1<<5); break; } if(lcddev.id==0X5510)dirreg=0X3600; else dirreg=0X36; if((lcddev.id!=0X5310)&&(lcddev.id!=0X5510))regval|=0X08;//5310/5510不需要BGR if(lcddev.id==0X6804)regval|=0x02;//6804的BIT6和9341的反了 LCD_WriteReg(dirreg,regval); if((regval&0X20)||lcddev.dir==1) { if(lcddev.width<lcddev.height)//交换X,Y { temp=lcddev.width; lcddev.width=lcddev.height; lcddev.height=temp; } }else { if(lcddev.width>lcddev.height)//交换X,Y { temp=lcddev.width; lcddev.width=lcddev.height; lcddev.height=temp; } } if(lcddev.dir==1&&lcddev.id!=0X6804) { xsize=lcddev.height; ysize=lcddev.width; }else { xsize=lcddev.width; ysize=lcddev.height; } if(lcddev.id==0X5510) { LCD_WR_REG(lcddev.setxcmd);LCD_WR_DATA(0); LCD_WR_REG(lcddev.setxcmd+1);LCD_WR_DATA(0); LCD_WR_REG(lcddev.setxcmd+2);LCD_WR_DATA((xsize-1)>>8); LCD_WR_REG(lcddev.setxcmd+3);LCD_WR_DATA((xsize-1)&0XFF); LCD_WR_REG(lcddev.setycmd);LCD_WR_DATA(0); LCD_WR_REG(lcddev.setycmd+1);LCD_WR_DATA(0); LCD_WR_REG(lcddev.setycmd+2);LCD_WR_DATA((ysize-1)>>8); LCD_WR_REG(lcddev.setycmd+3);LCD_WR_DATA((ysize-1)&0XFF); }else { LCD_WR_REG(lcddev.setxcmd); LCD_WR_DATA(0);LCD_WR_DATA(0); LCD_WR_DATA((xsize-1)>>8);LCD_WR_DATA((xsize-1)&0XFF); LCD_WR_REG(lcddev.setycmd); LCD_WR_DATA(0);LCD_WR_DATA(0); LCD_WR_DATA((ysize-1)>>8);LCD_WR_DATA((ysize-1)&0XFF); } }else { switch(dir) { case L2R_U2D://从左到右,从上到下 regval|=(1<<5)|(1<<4)|(0<<3); break; case L2R_D2U://从左到右,从下到上 regval|=(0<<5)|(1<<4)|(0<<3); break; case R2L_U2D://从右到左,从上到下 regval|=(1<<5)|(0<<4)|(0<<3); break; case R2L_D2U://从右到左,从下到上 regval|=(0<<5)|(0<<4)|(0<<3); break; case U2D_L2R://从上到下,从左到右 regval|=(1<<5)|(1<<4)|(1<<3); break; case U2D_R2L://从上到下,从右到左 regval|=(1<<5)|(0<<4)|(1<<3); break; case D2U_L2R://从下到上,从左到右 regval|=(0<<5)|(1<<4)|(1<<3); break; case D2U_R2L://从下到上,从右到左 regval|=(0<<5)|(0<<4)|(1<<3); break; } if(lcddev.id==0x8989)//8989 IC { dirreg=0X11; regval|=0X6040; //65K }else//其他驱动IC { dirreg=0X03; regval|=1<<12; } LCD_WriteReg(dirreg,regval); } } [/mw_shl_code]

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-2 11:49

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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