【STM32F412-DISCO 开发板试用体验】+1.54寸TFT显示屏使用

  • FLASH
  • 存储器
  • 开发
  • 控制器
  • 显示屏
  • 黄莨元
  • LV5工程师
  • |      2017-04-30 14:36:36
  • 浏览量 2331
  • 回复:0
今天来介绍一下STM32F4MCU中的FSMC的使用以及STM32F412G-DISCO开发板上1.54TFT显示屏的使用。:D(一)硬件平台介绍:FSMC简介: FSMC可变存储存储控制器,能够与同步或异步存储器、SDRAM 存储器和 16 PC 存储器连接,STM32F4MCUFMC 接口支持包括 SRAMSDRAMNAND FLASHNOR FLASH PSRAM 等存储器。 由于TFTLCD的操作时序和SRAM的操作时序基本类似,所以可以通过FSMC驱动TFTLCD,利用FMC_NE1 做片选,就可以将TFT显示屏当做SRAM操作。 TFTLCD 通过 RS 信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如我们把 RS 接在 A0 上面,那么当 FMC 控制器写地址 0 的时候,会使得 A0 变为 0,对 TFTLCD 来说,就是写命令。而 FMC 写地址 1 的时候,A0 将会变为 1,对 TFTLCD 来说,就是写数据了。STM32F412G-DISCO开发板原理图: RS:数据/命令选择端接PF0CS:片选信号端接PD7RD:读取数据端PD4WR:写入数据端PD5LCD_TE:原理图接PG4,程序上实际用到的是PG3 LCD_RESET:复位端接PD11D0~D15:数据线 (二)软件平台介绍:ST官方的lcd.h文件中有LCD_DrvTypeDef中结构体的定义,里面的成员变量都是指针函数。 ST提供的LCD驱动函数,在st7789h2.c文件中,给出了LCD驱动的函数,如下图 通过这个if判断LCD_ID是否正确,然后调用ST7789H2_Init这个函数进行FSMC初始化 FMC_BANK1_Init初始化函数: 1SRAM_HandleTypeDef结构体定义: InstanceFMC_NORSRAM_TypeDef结构体指针变量,寄存器的基地址ExtendedFMC_NORSRAM_EXTENDED_TypeDef结构体指针变量,扩展模式的寄存器基地址InitFMC_NORSRAM_InitTypeDef结构体变量,SRAM储存器配置结构体 这三个结构体变量在函数中的赋值如下,其中NORSRAM使用了FSMC_Bank1 Init结构体的赋值如下 2FMC_NORSRAM_TimingTypeDef结构体可以配置数据或地址的建立时间,在FSMC初始化函数中建立了两个这样的结构体,配置成了不同的读写时序。 FSMC读写时序的配置:读写配置成不同的时序 另外,FMC_BANK1_Init初始化函数中还调用了两个函数,如下所示: FMC_BANK1_MspInit函数:回调函数,主要是进行FSMCGPIO的时钟使能以及对GPIO口的配置,具体情况看图。 HAL_SRAM_Init函数:初始化SRAM之前定义并赋值了的结构体具体功能看官方的函数手册给出的函数 另一方面,ST提供了一大堆的TFT应用函数,供开发者使用,很好,看图 (三)TFT显示字符串接下来用开发板上的1.54寸显示屏显示点东西吧 编译下载程序后看看效果: 最后,感谢云汉电子社区和ST给予了我这次试用STM32F412G-DISCO的机会,下篇文章会介绍一下STM32F4MCUADC的使用,谢谢。:D
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子