当前位置: 首页 > news >正文

STM32F429+W25Q256+TouchFGX

一、硬件介绍

硬件使用STM32F429IGT6,外部flash为W25Q256FVEI,屏幕为TFTLCD分辨率为1024*600,SDRAM使用的是W9825G6KH-6I。使用TouchGFX(版本为4.16.1)作为界面,外部falsh存储图片。

二、MXcube配置

1.时钟配置为

2.SDRAM配置为

3. DMA2D配置为

打开中断

4.LTDC配置为

 图层配置

打开中断

5.Free RTOS配置

 6.touchGFX配置

三、touchGFX Designer配置

图片配置

 界面配置,界面包含一个主界面和三个次界面。主界面包含三个按钮,按钮增加和页面跳转功能;分界面包含一个图片和一个返回按钮,返回按钮可以返回主界面。

 

四、软件配置

1.去掉MicroLIB选项和下载校准选项

 2.增加下载算法

 3.增加代码段

五、增加代码

1.在TouchGFXHAL.cpp中增加代码

2.在TouchFGXCongratulation.cpp中增加代码

3.在STM32TouchController.cpp中增加触控代码

 4.SDRAM初始化

void MX_SDRAM_InitEx(void)
{__IO uint32_t tmpmrd = 0;FMC_SDRAM_CommandTypeDef Command;/* Step 1: Configure a clock configuration enable command */Command.CommandMode            = FMC_SDRAM_CMD_CLK_ENABLE;Command.CommandTarget          =  FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber      = 1;Command.ModeRegisterDefinition = 0;/* Send the command */HAL_SDRAM_SendCommand(&hsdram1, &Command,0X1000);/* Step 2: Insert 100 us minimum delay */ /* Inserted delay is equal to 1 ms due to systick time base unit (ms) */osDelay(1);/* Step 3: Configure a PALL (precharge all) command */ Command.CommandMode            = FMC_SDRAM_CMD_PALL;Command.CommandTarget          = FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber      = 1;Command.ModeRegisterDefinition = 0;/* Send the command */HAL_SDRAM_SendCommand(&hsdram1, &Command, 0X1000);  /* Step 4: Configure an Auto Refresh command */ Command.CommandMode            = FMC_SDRAM_CMD_AUTOREFRESH_MODE;Command.CommandTarget          = FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber      = 8;Command.ModeRegisterDefinition = 0;/* Send the command */HAL_SDRAM_SendCommand(&hsdram1, &Command, 0X1000);/* Step 5: Program the external memory mode register */tmpmrd = (uint32_t)SDRAM_MODEREG_BURST_LENGTH_1          |\SDRAM_MODEREG_BURST_TYPE_SEQUENTIAL   |\SDRAM_MODEREG_CAS_LATENCY_3           |\SDRAM_MODEREG_OPERATING_MODE_STANDARD |\SDRAM_MODEREG_WRITEBURST_MODE_SINGLE;Command.CommandMode            = FMC_SDRAM_CMD_LOAD_MODE;Command.CommandTarget          = FMC_SDRAM_CMD_TARGET_BANK1;Command.AutoRefreshNumber      = 1;Command.ModeRegisterDefinition = tmpmrd;/* Send the command */HAL_SDRAM_SendCommand(&hsdram1, &Command, 0X1000);/* Step 6: Set the refresh rate counter *//* Set the device refresh rate */HAL_SDRAM_ProgramRefreshRate(&hsdram1, 683); 
}

 5.LTDC初始化

void LTDC_Init(void)
{HAL_LTDC_SetWindowPosition(&hltdc,0,0,0);  //设置窗口的位置HAL_LTDC_SetWindowSize(&hltdc,1024,600,0);//设置窗口大小 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);//屏幕灯点亮
}

6.LCD线程

void LTCD_Thread(void const * argument)
{FT5206_Init();//触摸初始化osDelay(100);MX_TouchGFX_Process();while (1) {osDelay(10);}
}

六、测试结果

 

http://www.xdnf.cn/news/851851.html

相关文章:

  • 解密QQ盗号诈骗APP:逆向溯源,探寻幕后黑色操作
  • 关系模型的完整性约束_关系模型
  • 8021x 获取IP信息失败,请检查锐捷认证客户端当前配置是否符合所在网络的要求,检查完毕后尝试重新认证
  • 让你的系统选单变为彩色,修改boot.ini产生彩色的启动菜单[附颜色代码]
  • 操作系统实验一——向Linux 内核增加一个系统调用
  • 电脑技巧:电脑故障维修常见的故障整理
  • Java高级_Day11(复制文件,字节缓冲流)
  • 多爪抓取机械手结构设计
  • 01通讯录管理系统——系统功能介绍
  • 如何快速上手跨境电商ERP源码开发:简单易懂的教程
  • 深入研究Android启动速度优化(上)- 看完这些启动优化已经完成80%了
  • 美国口语俚语大全
  • 【图像拼接】基于SURF算法实现图像拼接附Matlab代码
  • output_buffering详细介绍
  • 微信小程序投票系统制作过程详解
  • 简单制作 OS X Yosemite 10.10 正式版U盘USB启动安装盘方法教程 (全新安装 Mac 系统)
  • JetsonNano学习(五)JetsonNano 安装 PyTorch 及 Torchvision
  • 基于Java的基金交易网站系统设计与实现(源码+lw+部署文档+讲解等)
  • 另一个 OleDbParameterCollection 中已包含 OleDbParameter 错误分析及解决办法
  • 基于python语言的网页设计(手把手教你设计一个个人博客网站)
  • ASK,OOK,FSK,GFSK简介
  • 几个重要的电子元器件网站
  • 手写识别介绍
  • android:TableLayout表格布局详解
  • matlab usb接口编程,如何使用MATLAB进行USB2.0摄像头的编程
  • STC89C52引脚
  • 查看计算机启动项命令,启动项指令命令有哪些?教你设置电脑Windows开机启动项命令...
  • 玩机搞机---全网最详细的手机全机型 刷机教程一
  • PUBG绝地求生更新很慢、无法更新、更新不动的几个解决措施来了
  • 《Android框架揭秘》——导读