OpenEdv-开源电子网

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

请教库函数的问题

[复制链接]

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2011-10-10
在线时间
0 小时
发表于 2011-10-10 11:20:37 | 显示全部楼层 |阅读模式
 
为什么烧写库函数版本的程序,液晶不显示?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165538
金钱
165538
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-10-10 12:29:57 | 显示全部楼层
回复【楼主位】enlai:
---------------------------------
因为你没看库函数压缩包里面的readme.txt.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2011-10-10
在线时间
0 小时
 楼主| 发表于 2011-10-10 15:09:24 | 显示全部楼层
回复 支持 反对

使用道具 举报

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2011-10-10
在线时间
0 小时
 楼主| 发表于 2011-10-10 15:35:27 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
“代码使用MDK4.12编译器,所以大家想要是用库函数版本的例程,请先安装MDK4.12(不用卸载MDK3.80A,他们可以共存)。 

另外,实例28和29因为芯片容量的问题,无法改成库函数的。 

特别提醒:当您的开发板LCD版本为1.8及以后版本的时候,LCD的背光控制需要修改极性。把LCD_Init函数里面倒数第二句Clr_LED,修改为Set_LED!!!” 

我装了MDK4.12,也把LCD_Init函数里面倒数第二句Clr_LED,修改为Set_LED,程序烧进去液晶还是没正常显示,只是显示背景颜色,

回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165538
金钱
165538
注册时间
2010-12-1
在线时间
2117 小时
发表于 2011-10-10 19:00:00 | 显示全部楼层
回复【4楼】enlai:
---------------------------------
初始化代码不对.
找一下你的LCD ID,看看LCD INIT函数有没有针对这个的初始化代码?
没有就从寄存器版本的拷贝过来吧.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

6

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
57
金钱
57
注册时间
2011-10-10
在线时间
0 小时
 楼主| 发表于 2011-10-10 21:48:48 | 显示全部楼层
回复【5楼】正点原子:
---------------------------------
else if(DeviceCode==0x9320||DeviceCode==0x9300)
{
LCD_WriteReg(0x00,0x0000);
LCD_WriteReg(0x01,0x0100); //Driver Output Contral.
LCD_WriteReg(0x02,0x0700); //LCD Driver Waveform Contral.
LCD_WriteReg(0x03,0x1030);//Entry Mode Set.
//LCD_WriteReg(0x03,0x1018); //Entry Mode Set.

LCD_WriteReg(0x04,0x0000); //Scalling Contral.
LCD_WriteReg(0x08,0x0202); //Display Contral 2.(0x0207)
LCD_WriteReg(0x09,0x0000); //Display Contral 3.(0x0000)
LCD_WriteReg(0x0a,0x0000); //Frame Cycle Contal.(0x0000)
LCD_WriteReg(0x0c,(1<<0)); //Extern Display Interface Contral 1.(0x0000)
LCD_WriteReg(0x0d,0x0000); //Frame Maker osition.
LCD_WriteReg(0x0f,0x0000); //Extern Display Interface Contral 2.     
LCD_Delay(5); 
LCD_WriteReg(0x07,0x0101); //Display Contral.
LCD_Delay(5);    
LCD_WriteReg(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4)); //Power Control 1.(0x16b0)
LCD_WriteReg(0x11,0x0007); //Power Control 2.(0x0001)
LCD_WriteReg(0x12,(1<<8)|(1<<4)|(0<<0)); //Power Control 3.(0x0138)
LCD_WriteReg(0x13,0x0b00); //Power Control 4.
LCD_WriteReg(0x29,0x0000); //Power Control 7.

LCD_WriteReg(0x2b,(1<<14)|(1<<4));     
LCD_WriteReg(0x50,0); //Set X Star
//水平GRAM终止位置Set X End.
LCD_WriteReg(0x51,(LCD_W-1)); //Set Y Star
LCD_WriteReg(0x52,0); //Set Y End.t.
LCD_WriteReg(0x53,(LCD_H-1)); //

LCD_WriteReg(0x60,0x2700); //Driver Output Control.
LCD_WriteReg(0x61,0x0001); //Driver Output Control.
LCD_WriteReg(0x6a,0x0000); //Vertical Srcoll Control.

LCD_WriteReg(0x80,0x0000); //Display osition? artial Display 1.
LCD_WriteReg(0x81,0x0000); //RAM Address Start? artial Display 1.
LCD_WriteReg(0x82,0x0000); //RAM Address End-Partial Display 1.
LCD_WriteReg(0x83,0x0000); //Displsy osition? artial Display 2.
LCD_WriteReg(0x84,0x0000); //RAM Address Start? artial Display 2.
LCD_WriteReg(0x85,0x0000); //RAM Address End? artial Display 2.

LCD_WriteReg(0x90,(0<<7)|(16<<0)); //Frame Cycle Contral.(0x0013)
LCD_WriteReg(0x92,0x0000); //Panel Interface Contral 2.(0x0000)
LCD_WriteReg(0x93,0x0001); //Panel Interface Contral 3.
LCD_WriteReg(0x95,0x0110); //Frame Cycle Contral.(0x0110)
LCD_WriteReg(0x97,(0<<8)); //
LCD_WriteReg(0x98,0x0000); //Frame Cycle Contral.    
LCD_WriteReg(0x07,0x0173); //(0x0173)
}
2.8 寸的ALIENTEK TFTLCD 模块为例介绍,该模块采用的是显尚光电的
DST2001PH TFTLCD,DST2001PH 的控制器为ILI9320,,这款液晶的ID是指代码中的DeviceCode==0x9320么,程序还是无法正常显示,能把背景刷成各种颜色。。
回复 支持 反对

使用道具 举报

19

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
218
金钱
218
注册时间
2011-8-8
在线时间
0 小时
发表于 2011-10-10 22:07:44 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
呵呵呵,经典回答,不水。
世界上有10种人,一种是懂二进制的,另一种是不懂二进制的。。。
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2011-10-18 21:01:12 | 显示全部楼层
回复【4楼】enlai:
---------------------------------
呃,难怪打不开。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165538
金钱
165538
注册时间
2010-12-1
在线时间
2117 小时
发表于 2012-2-28 22:17:53 | 显示全部楼层
这些库函数代码由网友 依心爱婷 根据我们开发板的实例代码修改而来,对习惯使用库函数的朋友会是一个很好的参考,再此对 依心爱婷 表示衷心的感谢!
代码使用MDK4.12编译器,所以大家想要是用库函数版本的例程,请先安装MDK4.12(不用卸载MDK3.80A,他们可以共存,MDK4.12大家可以搜索超前科技,在超前科技的主页上面可以找到下载地址)。

另外,实例28和29因为芯片容量的问题,无法改成库函数的。

特别提醒:当您的开发板LCD版本为1.8及以后版本的时候,LCD的背光控制需要修改极性。把LCD_Init函数里面倒数第二句Clr_LED,修改为Set_LED!!!
    同时需要提醒大家,因为库函数比较老了,很多地方都留在最初版本的阶段.所以库函数仅供参考.最新程序请看寄存器版本的代码.
    对于库函数的LCD部分,因为比较老,可能会使液晶无法显示,请先参考库函数的:标准例程->ALIENTEK MINISTM32 实验10 TFTLCD显示实验(库) 这个代码里面的LCD.C.里面是我做的一个最新的驱动,其实就是增加了部分液晶的初始化代码.
    如有其它问题,对应找相应的寄存器版本代码解决.

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-15 15:04

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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