OpenEdv-开源电子网

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

ili9327的横屏驱动 为什么更改不好使

[复制链接]

3

主题

6

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2013-11-7
在线时间
3 小时
发表于 2015-4-17 14:38:01 | 显示全部楼层 |阅读模式
5金钱
更改寄存器的数据  没有变化   竖屏的字库和横屏的字库一样吗

最佳答案

查看完整内容[请看2#楼]

ili93xx的驱动 我修改的结果如下: //设置光标位置 //Xpos:横坐标 //Ypos:纵坐标 __inline void LCD_SetCursor(u16 Xpos, u16 Ypos) { if(Xpos>LCD_W)Xpos=LCD_W; if(Ypos>LCD_H)Ypos=LCD_H; #if USE_HORIZONTAL==1 #if DISP_Y_TRUN_OVER==1 LCD_WR_REG(0x0002);LCD_WR_DATA((LCD_H-Ypos) >> 8); LCD_WR_REG(0x0003);LCD_WR_DATA(LCD_H-Ypos); //Column St ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-4-17 14:38:02 | 显示全部楼层
ili93xx的驱动 我修改的结果如下:
//设置光标位置
//Xpos:横坐标
//Ypos:纵坐标
__inline void LCD_SetCursor(u16 Xpos, u16 Ypos)
{
if(Xpos>LCD_W)Xpos=LCD_W;
if(Ypos>LCD_H)Ypos=LCD_H;
#if USE_HORIZONTAL==1
#if DISP_Y_TRUN_OVER==1
LCD_WR_REG(0x0002);LCD_WR_DATA((LCD_H-Ypos) >> 8);
LCD_WR_REG(0x0003);LCD_WR_DATA(LCD_H-Ypos); //Column Start 
#else
  LCD_WR_REG(0x0002);LCD_WR_DATA(Ypos >> 8);
LCD_WR_REG(0x0003);LCD_WR_DATA(Ypos); //Column Start
#endif
#if DISP_X_TRUN_OVER==1
LCD_WR_REG(0x0006);LCD_WR_DATA((LCD_W-Xpos) >> 8);
LCD_WR_REG(0x0007);LCD_WR_DATA(LCD_W-Xpos); //Row Start03
#else
LCD_WR_REG(0x0006);LCD_WR_DATA(Xpos >> 8);
LCD_WR_REG(0x0007);LCD_WR_DATA(Xpos); //Row Start03
#endif
#else
#if DISP_X_TRUN_OVER==1
LCD_WR_REG(0x0002);LCD_WR_DATA((LCD_W-Xpos) >> 8);
LCD_WR_REG(0x0003);LCD_WR_DATA(LCD_W-Xpos); //Column Start
#else
LCD_WR_REG(0x0002);LCD_WR_DATA(Xpos >> 8);
LCD_WR_REG(0x0003);LCD_WR_DATA(Xpos); //Column Start
#endif

#if DISP_Y_TRUN_OVER==1
LCD_WR_REG(0x0006);LCD_WR_DATA((LCD_H-Ypos) >> 8);
LCD_WR_REG(0x0007);LCD_WR_DATA(LCD_H-Ypos); //Row Start03
#else
LCD_WR_REG(0x0006);LCD_WR_DATA(Ypos >> 8);
LCD_WR_REG(0x0007);LCD_WR_DATA(Ypos); //Row Start03
#endif
#endif

LCD_WR_REG(0x22);
}
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-4-17 14:38:02 | 显示全部楼层

LCD.h

7.43 KB, 下载次数: 172

ILI93xx.c

23.1 KB, 下载次数: 103

原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

3

主题

6

帖子

0

精华

新手上路

积分
48
金钱
48
注册时间
2013-11-7
在线时间
3 小时
 楼主| 发表于 2015-4-17 15:03:13 | 显示全部楼层
自己顶下  折磨好几天了  原子大哥
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

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

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-7-3
在线时间
1 小时
发表于 2015-7-3 11:07:48 | 显示全部楼层
小哥能把ili9327的驱动发我么,邮箱1968155152@qq.com谢谢了啊
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-7-3
在线时间
1 小时
发表于 2015-7-3 17:28:45 | 显示全部楼层
回复【2楼】18242321877:
---------------------------------
小哥能把ili9327的驱动发我么,邮箱1968155152@qq.com谢谢了啊
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-7-4 09:44:16 | 显示全部楼层
//在指定区域内填充指定颜色
//区域大小:
//  (xend-xsta)*(yend-ysta)
void LCD_Fill(u16 xsta,u16 ysta,u16 xend,u16 yend,u16 color)
{          
/*
D7  D6  D5    D4    D3 D2 D1 D0
org  0  i/d1  i/d0  AM  0  0  0

i/d   [1:0]=00  [1:0]=01  [1:0]=10  [1:0]=11 
AM=0
  E<---    -->E  B B
B  B    E<--         -->E
AM=1
  E   E  B B
  ^   ^     
  |   |    |    |
B  B       E    E
*/ 

u16 i,j;
u16 xlen=0;
if(xsta>xend)return;
if(ysta>yend)return;
#if USE_HORIZONTAL==1
#if DISP_Y_TRUN_OVER==1
xlen=yend-ysta+1;    
for(i=xsta;i<=xend;i++)
{
  LCD_SetCursor(i,yend);      //设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM   
for(j=0;j<xlen;j++)LCD_WR_DATA(color);//设置光标位置    
}
#else
xlen=yend-ysta+1;    
for(i=xsta;i<=xend;i++)
{
  LCD_SetCursor(i,ysta);      //设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM   
for(j=0;j<xlen;j++)LCD_WR_DATA(color);//设置光标位置    
}
#endif 
#else
#if DISP_X_TRUN_OVER==1
xlen=xend-xsta+1;    
for(i=ysta;i<=yend;i++)
{
  LCD_SetCursor(xend,i);      //设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM   
for(j=0;j<xlen;j++)LCD_WR_DATA(color);//设置光标位置      
}
#else
xlen=xend-xsta+1;    
for(i=ysta;i<=yend;i++)
{
  LCD_SetCursor(xsta,i);      //设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM   
for(j=0;j<xlen;j++)LCD_WR_DATA(color);//设置光标位置      
}
#endif
#endif        
}>
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-7-4 09:44:34 | 显示全部楼层
//清屏函数
//Color:要清屏的填充色
void LCD_Clear(u16 Color)
{
u32 index=0;
u16 xpos,ypos;
#if DISP_X_TRUN_OVER==1      
xpos=LCD_W;
#else
xpos=0;
#endif
#if DISP_Y_TRUN_OVER==1
ypos=LCD_H;
#else
ypos=0;
#endif
LCD_SetCursor(xpos,ypos);//设置光标位置 
//LCD_SetCursor(0x00,0x0000);//设置光标位置 
LCD_WriteRAM_Prepare();     //开始写入GRAM     
for(index=0;index<76800;index++)
{
LCD_WR_DATA(Color);    
}
}
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-7-4 09:45:41 | 显示全部楼层
#define DISP_X_TRUN_OVER    1  //=0 或者=1 就是X镜像
#define DISP_Y_TRUN_OVER    1  //=0 或者=1 就是Y镜像
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
26
金钱
26
注册时间
2015-7-3
在线时间
1 小时
发表于 2015-7-6 15:44:16 | 显示全部楼层
回复【10楼】fanghuiopenedv:
---------------------------------
我看了ILI9327的datasheet,连对应的寄存器都不是的啊,略坑
回复

使用道具 举报

30

主题

705

帖子

1

精华

新手上路

积分
21
金钱
21
注册时间
2013-3-14
在线时间
52 小时
发表于 2015-7-9 11:06:20 | 显示全部楼层
回复【11楼】Tsuchinoko:
---------------------------------
我这个能用的,我就在用啊。适合不适合ili9327就不知道了。
原子哥是不是又要出黑科技了呀。^_^...
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-20 12:22

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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