历史上的今天
返回首页

历史上的今天

今天是:2025年03月15日(星期六)

2020年03月15日 | STM32 移植 STemwin

2020-03-15 来源:eefocus

移植STemwin

平台STM32F429+LTDC+SDRAM

其实不难就是给自己做个记录,年纪大了记性不好。。。


自己先驱动好TFTLCD, LTDC, SDRAM等


Cubemx配置增大堆栈大小,不然容易出错

在这里插入图片描述

需要添加以下文件进行配置

在这里插入图片描述

挨个文件配置


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)


LCDConf_FlexColor_Template.c里面

修改屏幕尺寸


#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 DMA2D_HandleTypeDef hdma2d;//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 */

}


GUIbuilder设计窗口,对话框

在这里插入图片描述

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);

  }


运行结果

在这里插入图片描述

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

推荐阅读

史海拾趣

Electro-Term/Hollingsworth公司的发展小趣事

面对全球电子市场的不断变化,Electro-Term公司及时调整了市场布局和战略方向。公司深入分析了不同地区的市场需求和消费者偏好,制定了有针对性的市场推广策略。同时,公司还加强了与国际知名企业的合作,共同开发新技术和产品。这些努力使Electro-Term在全球市场上取得了显著的成绩。

晶群科技(Gem-micro)公司的发展小趣事

随着环保意识的提高,Hollingsworth公司积极响应国家号召,致力于推动绿色生产和可持续发展。公司采用环保材料和生产工艺,减少了对环境的污染。同时,公司还加大了对新能源领域的投入,开发了一系列环保型电子产品。这些举措不仅提升了公司的社会形象,也为公司未来的发展奠定了坚实的基础。

Bel Fuse公司的发展小趣事

随着电子行业的快速发展,Bel Fuse意识到要保持竞争力,必须不断进行技术创新。因此,公司加大了研发投入,推出了一系列具有创新性的电子元件产品。这些产品不仅满足了客户的需求,还为公司带来了可观的市场份额。同时,Bel Fuse也开始积极寻求全球扩张的机会,通过设立海外分公司和建立销售网络,进一步提升了公司的全球影响力。

Herth+Buss Fahrzeugteile GmbH & Co KG公司的发展小趣事
安装在门窗、围墙等处,提高家庭安防水平。
GSR Technology Ltd公司的发展小趣事

为了应对市场需求的多样化,GSR Technology Ltd开始实施多元化产品策略。公司在保持GSR技术领先的同时,逐步向汽车电子、智能家居、安全监控等领域拓展。通过技术创新和定制化解决方案,公司成功推出了多款具有市场竞争力的电子产品,进一步拓宽了市场份额。同时,公司加强市场营销和品牌建设,提升了品牌知名度和美誉度。

DURAKOOL公司的发展小趣事

随着技术的不断进步,DURAKOOL公司不断投入研发,推出了一系列创新产品,如Durakool接触器和电流互感器。这些产品凭借其高可靠性和稳定性,在电力监控和智能计量等领域得到了广泛应用。公司也逐渐扩大了市场覆盖范围,不仅在美国本土取得了成功,还逐步进入国际市场。

问答坊 | AI 解惑

怎样做才能快速的嵌入式了?

怎样做才能快速的嵌入式了? 其实,做工程是没有捷径可走的.听听下面一个大牛写的! 先说做硬件: 把你的数字电路教材和模拟电路的教材读熟,暂时先把重点放在数字电路上面,接着把微机原理和接口技术读熟悉了,最好能用汇编写几个简单的程序上机 ...…

查看全部问答>

安防工程师心得,看后感触颇多~~

诸位,咱进入安防行业也是几年了,不算有出息,环顾四周,也没有看见几个有出息的 !回顾这几年的行业生涯,感慨万千,愿意讲几句掏心窝子的话,也算给咱们弟兄们提个醒  ,希望他们比咱强!       1:好好规划自 ...…

查看全部问答>

请教gprs modem拨号成功ppp协商获得ip地址并确认后怎么还无法上网?

gprs modem拨号成功,并且ppp协商获得ip地址而且也确认了,但是我在电脑上ping 10.0.0.172还是不通,是不是还要设置什么?电脑还有正常宽带连接中…

查看全部问答>

请教对于常用元件的选型经验

对于一些常用的电阻,电容,二级管,三极管,选型的时候有什么需要注意的地方呢?…

查看全部问答>

希望学习ARM开发,不知道从哪里开始学习

想学习ARM方面的。现在想学。目前自身的水平是会c,c++,VC都没有问题。汇编懂一点。arm系统以前用过nucleus,也是别人把系统搭好后我添加一些程序。现在自己想设计个板子,包括画板子,写驱动。 请问我该怎么学习?谢谢…

查看全部问答>

请教,如何对协议的性能进行测试?

例如像如下协议: TCP SSL FTP 还有无线通信协议。 谢谢,请各位大侠帮忙。…

查看全部问答>

关于LED灯具颜色差异评价

在LED灯具中普遍使用的颜色有红绿蓝白黄,从人眼的视觉敏感度来讲,人对黄、绿色的颜色敏感,也就是说这两种颜色稍微有点波动,人眼就能感觉到。衡量颜色的单位是nm(纳米),为了避免颜色波长不同来来的差异,灯具生产公司不得不对LED原材料进行控 ...…

查看全部问答>

请以下参与团购TI工业用样片的ID补充完整信息,逾期将做退货处理!

参与团购TI工业用样片套装的朋友请注意:               1、以下ID未填写个人相关信息,截止至18日中午12:00仍未提供详细信息将以退货处理。https://www.eeworld.com.cn/ee ...…

查看全部问答>

电子面试题

replyreload += \',\' + 1238951;Timson,如果您要查看本帖隐藏内容请回复…

查看全部问答>