[STM32F4] 【STM32F469I试用】+5.GUI学习之HappyNewYear

[复制链接]
1392|0
 楼主| liuyuliuyuliuyu 发表于 2016-1-1 00:13 | 显示全部楼层 |阅读模式
本帖最后由 liuyuliuyuliuyu 于 2016-1-1 00:24 编辑

首先祝大家新年快乐!!!
本来想尝试先学习SDRAM、DSI等内容并学会驱动,然后在学习STemWin的移植,进而学习GUI设计。奈何作为一个小白,水平还是不行呀,看了几天没有效果。还好官方提供了STewWin的教程,已经做好了相关外设的驱动。可以先用官方的历程,体验GUI设计。可以在STM32CubeMx或Keil安装路径下找到,具体历程所在的位置(具体路径参考个人安装设置):
1.png
2.png
用MDK打开历程:
main函数里与GUI相关的主要代码:
  1. BSP_SDRAM_Init();
  2.   
  3.   /* Enable the CRC Module */
  4.   __HAL_RCC_CRC_CLK_ENABLE();
  5.   
  6.    /* Init the STemWin GUI Library */
  7.   GUI_Init();
  8.   
  9.   GUI_DispStringAt("Starting...", 0, 0);
  10.   
  11.   /* Initialize LCD and LEDs */
  12.   GUI_DispStringAt("Initializing lcd...", 0, 12);
  13.   
  14.   /* Activate the use of memory device feature */
  15.   WM_SetCreateFlags(WM_CF_MEMDEV);
  16.   
  17.   MainTask();
主要是一些初始化,和字符串显示。具体函数就不说了,我现在也不是很了解。只说一下MainTask()函数。代码在BASIC_HelloWorld.c文件里。具体代码如下:
  1. void MainTask(void) {
  2.   GUI_Clear();
  3.   GUI_SetFont(&GUI_Font20_1);
  4.   GUI_DispStringAt("Hello world!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2);
  5.   while(1);
  6. }
我稍微做了一些修改,祝大家新年快乐。
  1. void MainTask(void) {
  2.   GUI_Clear();
  3.   GUI_SetFont(&GUI_Font32B_1);
  4.         GUI_SetBkColor(255);
  5.         GUI_DispStringAt("Happy New Year 2016!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()-20)/2);
  6.         GUI_DispStringAt("Happy New Year 21IC!", (LCD_GetXSize()-100)/2, (LCD_GetYSize()+40)/2);
  7.   while(1);
  8. }
添加了GUI_SetBkColor(255);这行代码,将字体背景颜色设置为红色。这个函数的参数是一个32位整数。最低8位对应红色,接着的8位对应绿色。再接着的8位对应蓝色。
显示效果:
3.jpg

也可以用GUIBuilder软件设计界面,并显示出来。
软件路径如下:
4.png
5.png
具体怎么操作软件就先不介绍了,我也是刚开始学习。简单设计了一个名为Happy的对话框,添加了几个控件,具体界面如下:
6.png
点击File菜单下的Save会在当前路径下生成一个.c文件。打开.c文件将代码复制到BASIC_HelloWorld.c文件中,并修改MainTask()函数:
  1. void MainTask(void) {
  2.   GUI_Clear();
  3.    CreateHappy();
  4.   while(1)
  5.         {
  6.                 GUI_Delay(100);
  7.         }
  8. }
CreateHappy()函数为拷贝过来的代码里的函数,函数名根据工程生成,Create后的Happy为对话框名。在while循环里需要加入GUI_Delay()函数,否则窗口刷新不出来。编译,下载。效果如下:
11.jpg



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

本版积分规则

6

主题

184

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部