zoukankan      html  css  js  c++  java
  • emWin 移植

    一直想利用所学的东西自己设计一个精致一些的作品,手头正好有一块红牛开发板,就先用它来写一些软件,熟悉一下过程和一些想法的可行性。首先当然是选择一个操作系统了,对比了几种之后选择了emWin。那就移植一下吧。

    这里首先要感谢一下http://www.openedv.com/posts/list/0/27697.htm 这篇帖子。我的思路基本是照着这个帖子做的。感谢楼主把辛苦的研究成果贡献出来,让我这个菜鸟能够快些入门。

    STemWin下载地址: http://www.st.com/web/en/catalog/tools/PF259225#

    在ST官方网站上下载好STemWin后 解压 先使用Libraries文件夹下的STemWinLibrary522 文件夹 复制到项目工程文件夹里

    然后添加下列文件到工程

    修改 LCDConf_FlexColor_Template.c

    添加 #include "ili9320.h" 在此之前需要将所使用的液晶屏底层驱动程序写好。横竖屏取决于底层的驱动。

    注意下面的函数,写指令和写数据一般都在液晶驱动的底层有定义,直接添加进来就行了。

    static void LcdWriteReg(U16 Data) 
    {
      // ... TBD by user
      LCD->LCD_REG = Data;
    }
    
    static void LcdWriteData(U16 Data) 
    {
      // ... TBD by user
      LCD->LCD_RAM = Data;
    }
    
    static void LcdWriteDataMultiple(U16 * pData, int NumItems) 
    {
      while (NumItems--) 
      {
        // ... TBD by user
        LCD->LCD_RAM = *pData++;
       }
    }
    
    static void LcdReadDataMultiple(U16 * pData, int NumItems) 
    {
      *pData = LCD->LCD_RAM;
      while (NumItems--) 
       {
        // ... TBD by user
        *pData++ = LCD->LCD_RAM;
       }
    }

    修改完成后就是建立了emWin与液晶屏的联系

    关于 void LCD_X_Config(void) 函数 (这个我会总结一下后补)续....

    然后测试GUI显示是否正常

    我用的是ST官网最新的库函数写的程序,包括液晶屏的驱动函数都是官方的,所以感觉操作起来要方便一些

    主函数内写如下代码:

    SystemInit();
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_CRC,ENABLE);
    LCD_X_Init();
    ili9320_Initializtion();
    GUI_Init();
    GUI_SetColor(GUI_YELLOW);
    GUI_DispStringAt("emWin5.22 GUI Complete",80,20);
    while(1);

     注意液晶的初始化不要忘了

    这样我在红牛开发板上就可以正常显示了(液晶驱动是ILI9320)

    然后可以利用GUI.h里面的各种函数显示想要的东西

    具体函数的功能以及如何使用参照emWin用户手册上面有详细的解释。

    下面是几个API函数在手册里面可以查找

     数值API:

     文本API:

    到此为止我们就完成了初步的液晶底层移植。接下来移植一下演示程序。

  • 相关阅读:
    [牛客]十二桥问题 解题报告
    [NOIP2017 逛公园] 解题报告
    [JSOI2008]最小生成树计数 解题报告
    类欧几里得算法
    概率与期望题目列表
    [SCOI2008]配对 解题报告
    拦截导弹
    牛客网-约数的个数
    牛客网-成绩排名
    最大连续区间和的算法总结
  • 原文地址:https://www.cnblogs.com/einstein-2014731/p/3885805.html
Copyright © 2011-2022 走看看