你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 4614|回复: 5

[STM32F429] 使用STM32F429 LDTC驱动DE模式液晶屏

[复制链接]

2

主题

43

回帖

0

蝴蝶豆

中级会员

最后登录
2020-5-15
发表于 2017-3-16 15:05:36 | 显示全部楼层 |阅读模式
本帖最后由 zld9251 于 2017-3-16 15:05 编辑

发现公司有块AT043TN25的RGB屏,手上刚好有块STM32F429开发板,就画了一个小转接板试试看能不能驱动屏。下面是液晶屏背光IC的方案:

刚开始只是修改了一下参数,发现怎么改都不行,屏幕显示不正常


液晶屏主要参数资料如下:

后来参考了一篇文章后,才明白DE模式时候参数该如何设置,链接:http://blog.csdn.net/liuhuahan/article/details/44172719
只需设置DE,还有时钟PC,然后设置有效高度和宽度,接着设置水平和垂直后沿宽度参数,总高度=有效高度+垂直后沿,总宽度=有效宽度+水平后沿。
具体程序设置如下:
//LCD初始化函数
void LTDC_Init(void)
{   
       u16lcdid=0;
       lcdid=LTDC_PanelID_Read();                    //读取LCD面板ID      
   LTDC_Clk_Set(288,4,RCC_PLLSAIDIVR_8);  //设置像素时钟 9Mhz

       lcddev.width=lcdltdc.pwidth;
       lcddev.height=lcdltdc.pheight;

   lcdltdc.pixsize=2;                        //每个像素占2个字节
       ltdc_framebuf[0]=(u32*)<dc_lcd_framebuf;

   //LTDC配置
   LTDC_Handler.Instance=LTDC;
//   LTDC_Handler.Init.HSPolarity=LTDC_HSPOLARITY_AL;         //水平同步极性
//   LTDC_Handler.Init.VSPolarity=LTDC_VSPOLARITY_AL;         //垂直同步极性
   LTDC_Handler.Init.DEPolarity=LTDC_DEPOLARITY_AL;         //数据使能极性
   LTDC_Handler.Init.PCPolarity=LTDC_PCPOLARITY_IIPC;        //像素时钟极性
//   LTDC_Handler.Init.HorizontalSync=lcdltdc.hsw-1;          //水平同步宽度
//   LTDC_Handler.Init.VerticalSync=lcdltdc.vsw-1;            //垂直同步宽度
   LTDC_Handler.Init.AccumulatedHBP=45; //水平同步后沿宽度
   LTDC_Handler.Init.AccumulatedVBP=16; //垂直同步后沿高度
   LTDC_Handler.Init.AccumulatedActiveW=480;//有效宽度
   LTDC_Handler.Init.AccumulatedActiveH=272;//有效高度
   LTDC_Handler.Init.TotalWidth=525;  //总宽度
   LTDC_Handler.Init.TotalHeigh=288; //总高度
   LTDC_Handler.Init.Backcolor.Red=0;           //屏幕背景层红色部分
   LTDC_Handler.Init.Backcolor.Green=0;         //屏幕背景层绿色部分
   LTDC_Handler.Init.Backcolor.Blue=0;          //屏幕背景色蓝色部分
   HAL_LTDC_Init(<DC_Handler);

       //层配置
       LTDC_Layer_Parameter_Config(0,(u32)ltdc_framebuf[0],LCD_PIXFORMAT,255,0,6,7,0X000000);//层参数配置
       LTDC_Layer_Window_Config(0,0,0,lcdltdc.pwidth,lcdltdc.pheight); //层窗口配置,LCD面板坐标系为基准,不要随便修改!

      LTDC_Display_Dir(0);                //默认竖屏
       LTDC_Select_Layer(0);                     //选择第1
   LCD_LED=1;                              //点亮背光
   LTDC_Clear(0XFFFFFFFF);               //清屏
}
最后程序显示正常了 ,然后发现屏幕被我背光电压第一次接反了,烧坏了,悲剧!













回复

使用道具 举报

1

主题

455

回帖

2

蝴蝶豆

金牌会员

最后登录
2019-5-7
发表于 2017-3-17 09:53:22 | 显示全部楼层
签到签到,早上好!
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2017-3-21 16:53:40 | 显示全部楼层
感谢分享,但是图片好像显示不出
回复 支持 反对

使用道具 举报

2

主题

43

回帖

0

蝴蝶豆

中级会员

最后登录
2020-5-15
 楼主| 发表于 2017-6-3 17:45:23 | 显示全部楼层
zero99 发表于 2017-3-21 16:53
感谢分享,但是图片好像显示不出

之前是正常的  不知道为啥图片会没掉
回复 支持 反对

使用道具 举报

1182

主题

3785

回帖

1

蝴蝶豆

论坛元老

最后登录
2020-3-17
发表于 2017-6-5 08:57:50 | 显示全部楼层
图片需要本地上传的哦,引用网络地址可能会出现无法显示
回复 支持 反对

使用道具 举报

39

主题

934

回帖

45

蝴蝶豆

论坛元老

最后登录
2020-6-18
发表于 2017-6-5 09:49:06 | 显示全部楼层
烧烧更健康,电工的成长之路
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版