[讨论] 晒设计方案+STM32F429液晶屏基本操作

qiaoyang123   2013-12-17 09:41 楼主
Stm32F429最突出的亮点应该就是自带LCD驱动器,看了一下官方例程stm32f429i_discovery_lcd.c里有关于液晶的操作,果然牛X,很多操作函数都没见过,比如有关层的函数和PolyLine函数,上网查了一下才发现其实这些函数st在之前的各种EVAL板子的例程中都有,要是早早能拥有一块EVAL板子就好了(就是没money啊)。程序再下面,希望大家批评指正。
为了方便,直接Copy官方历程中的stm32f429i_discovery_lcd.cstm32f429i_discovery_lcd.h以及fonts.cfonts.h文件到之前做好的工程摸板当中。
Tips:这里最好新建一个文件夹,方便程序的管理。
2013-12-17_080913.jpg
                              
打开stm32f429i_discovery_lcd.h发现里面还包括了stm32f429i_discovery_sdram.h,所以就再把官方例程里的stm32f429i_discovery_sdram.hstm32f429i_discovery_sdram.cCopy到我们的工程模板当中,这里先不追究为什么要使用sdram的文件,首先我怕麻烦,其次觉得sdram迟早要用到,那就先拷进来再说。
2013-12-17_081236.jpg
完成了以上两步后,就可以对液晶屏进行操作了,有关于液晶屏的一些基本操作函数在stm32f429i_discovery_sdram.h中都有,我们只需要调用函数就可以了。在对液晶使用前要先初始化并设置层,具体的设置方法如下。
  /*Initialize the LCD */
  LCD_Init();
LCD_LayerInit();
  /* Enablethe LTDC */
LTDC_Cmd(ENABLE);
初始化包括液晶初始化,层的初始化,LTDC的使能,要让液晶屏显示的话还要进行层设置。
  /* Set LCDBackground Layer  */
LCD_SetLayer(LCD_BACKGROUND_LAYER);
  /* Clearthe Background Layer */
LCD_Clear(LCD_COLOR_WHITE);  
  /*Configure the transparency for background */
LCD_SetTransparency(255);
         LCD_SetTextColor(LCD_COLOR_BLUE);
LCD_DrawFullCircle(85, 55, 52);
         LCD_SetTextColor(LCD_COLOR_RED);
LCD_DrawFullCircle(85, 160, 52);
         LCD_SetTextColor(LCD_COLOR_YELLOW);
LCD_DrawFullCircle(85, 265, 52);
  /* Set LCDForeground Layer  */
LCD_SetLayer(LCD_FOREGROUND_LAYER);
  /*Configure the transparency for foreground */
LCD_SetTransparency(127);  
  /* Clearthe Foreground Layer */
LCD_Clear(LCD_COLOR_WHITE);
         LCD_SetTextColor(LCD_COLOR_RED);
LCD_DrawFullCircle(155, 55, 52);
         LCD_SetTextColor(LCD_COLOR_YELLOW);
  LCD_DrawFullCircle(155, 160, 52);
         LCD_SetTextColor(LCD_COLOR_BLUE);
LCD_DrawFullCircle(155, 265, 52);
上面程序的意思是:首先,先设置背景层,并且设置颜色,设置透明度,画上三个圆,再设置顶层,设置透明度,再画三个圆。
之前实验过,如果只设置一个层液晶屏是不会显示的,如果你要是只想用一个层的话,可以把背景层设置成全透明就可以了,这里透明度可以从0255调节。
上面程序分别在两个层画6个圆是为了让两个圆之间有颜色叠加效果,如图。
P1060697.JPG
P1060700.JPG

呵呵,效果还是很不错的嘛,一边看着这六个圆一边想:看来对于stm32的学习还有很长的路要走啊。

再把程序贴一下:
stm32f429 LCD.zip (599.2 KB)
(下载次数: 711, 2013-12-17 09:41 上传)
  • P1060699.JPG

回复评论 (7)

回复 楼主qiaoyang123 的帖子

这是第二篇?不错
点赞  2013-12-20 10:44
这是第三个  第二个是STM32F429加入延时,串口,位带操作
点赞  2013-12-20 14:12

回复 沙发苏莎莎 的帖子

这是第二个  STM32F429加入延时,串口,位带操作  附件
点赞  2013-12-20 14:13

回复 4楼qiaoyang123 的帖子

OK
点赞  2013-12-20 18:26
好~~~~
http://weibo.com/u/1391449055
点赞  2014-1-3 11:11
点赞  2014-9-22 15:02
小白问一下怎么修改液晶屏上显示的字符呢?
点赞  2015-8-17 11:19
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复