STM32 移植 STemwin

STM32 移植 STemwin移植 STemwin 平台 STM32F429 LTDC SDRAM 其实不难就是给自己做个记录 年纪大了记性不好 自己先驱动好 TFTLCD LTDC SDRAM 等 Cubemx 配置增大堆栈大小 不然容易出错需要添加以下文件进行配置挨个文件配置 GUIConf c 里面主要修改 ram 大小 酌情而定 不宜太大 defineGUI NUMBYTES 1024

  1. 自己先驱动好TFTLCD, LTDC, SDRAM等
  2. 开启硬件CRC.
  3. Cubemx配置增大堆栈大小,不然容易出错
    在这里插入图片描述

  4. 需要添加以下文件进行配置
    在这里插入图片描述

  5. 挨个文件配置

GUIConf.c里面主要修改ram大小,酌情而定,不宜太大。

#define GUI_NUMBYTES (1024)*50 

GUIDRV_Template.c里面修改以下函数TBD by customer部分添加画点,读点,填充函数

static void _SetPixelIndex(GUI_DEVICE * pDevice, int x, int y, int PixelIndex) static unsigned int _GetPixelIndex(GUI_DEVICE * pDevice, int x, int y) static void _FillRect(GUI_DEVICE * pDevice, int x0, int y0, int x1, int y1) 
#define XSIZE_PHYS 320 // To be adapted to x-screen size #define YSIZE_PHYS 480 // To be adapted to y-screen size 

修改LCD_X_Config函数

void LCD_X_Config(void) { GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_M565, 0, 0); LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS); LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS); } 

修改LCD_X_DisplayDriver函数,添加LCD初始化函数

int LCD_X_DisplayDriver(unsigned LayerIndex, unsigned Cmd, void * pData) { int r; (void) LayerIndex; (void) pData; switch (Cmd) { case LCD_X_INITCONTROLLER: { TFT_ini(); return 0; } default: r = -1; } return r; } 

stm32f4xx_it.c函数中修改增加

extern __IO int32_t OS_TimeMS;//add this code void SysTick_Handler(void) { /* USER CODE BEGIN SysTick_IRQn 0 */ OS_TimeMS++; //add this code /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } 
  1. GUIbuilder设计窗口,对话框
    在这里插入图片描述

  2. main.c添加以下代码
#include "GUI.h" #include "WM.h" 
WM_SetCreateFlags(WM_CF_MEMDEV); WM_HWIN hDlg; GUI_Init(); hDlg=CreateWindow(); 
 while (1) { GUI_Delay(100); } 
  1. 运行结果
    在这里插入图片描述

先到这儿,下阶段再写Touch。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227706.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午8:43
下一篇 2026年3月16日 下午8:44


相关推荐

  • 100999凑整到万位进一_速算方法 速算口诀[通俗易懂]

    100999凑整到万位进一_速算方法 速算口诀[通俗易懂]“估算法”毫无疑问是资料分析题当中的速算第一法,在所有计算进行之前必须考虑能否先行估算。所谓估算,是在精度要求并不太高的情况下,下面是出国留学网小编为大家整理的“速算方法”。本内容为大家提供参考。希望对您有所帮助。请关注出国留学网!!!速算方法一、▲“九几乘九几,左减右补数,后面空两格,写上补乘补。”9300-5005×7=880035=883500看作两个空格二、▲任意数乘25,等于此数…

    2022年6月15日
    77
  • 智谱发布手机智能体AutoGLM 2.0

    智谱发布手机智能体AutoGLM 2.0

    2026年3月12日
    3
  • 使用免费AI完成初步文献综述

    使用免费AI完成初步文献综述

    2026年3月12日
    3
  • winhex 搜索零号扇区

    winhex 搜索零号扇区

    2026年3月13日
    2
  • 【java】【继承实例】学生类,老师类 extends 人类类

    【java】【继承实例】学生类,老师类 extends 人类类子类继承父类 父类就相当于子类的共性 子类相当于父类的特性 继承之后再重写子类方法 给予子类更多操作的可能 子类还能利用 super 调用父类可以说子类的操作基于父类 但又能在父类的根基上发展出更多可能性通过查找共性编写父类 通过查找特性编写子类继承要点人类类 publicclassH privateStrin privateStrin 构造方法 publicHuman

    2025年10月27日
    10
  • 排列问题

    排列问题全排列所谓全排列 就是打印出字符串中所有字符的所有排列 例如输入字符串 abc 则打印出 a b c 所能排列出来的所有字符串 abc acb bac bca cab 和 cba 一般最先想到的方法是暴力循环法 即对于每一位 遍历集合中可能的元素 如果在这一位之前出现过了该元素 跳过该元素 例如对于 abc 第一位可以是 a 或 b 或 c 当第一位为 a 时 第二位再遍历集合 发现 a

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号