STM32H743+FTFLCD(MCU)驱动配置

配置参考CSDN上一篇文章:STM32CubeMX配置FSMC之TFTLCD驱动,并移植STemWin_Ningjianwen的博客-CSDN博客

前言:

         基于正点原子阿波罗H743开发板,驱动一个兼容正点原子2.8寸TFTLCD显示屏(硬件家园2.8寸-ILI9341),使用的软件工具是ST官方工具STM32CubeMX+keil。

关键寄存器:

#define LCD_CMD_LCDID                  0xD3    // LCD ID读取地寄存器
#define LCD_CMD_LCDScanMode    0x36    // LCD扫描方向寄存器(GRAM自增方向)
#define LCD_CMD_SETxOrgin           0x2A    // LCD横坐标设置寄存器
#define LCD_CMD_SETyOrgin           0x2B    // LCD纵坐标设置寄存器
#define LCD_CMD_WRgram              0x2C    // 写GRAM指令寄存器
#define LCD_CMD_RDgram               0x2E    // 读GRAM指令寄存器

硬件接口:

STM32H743+FTFLCD(MCU)驱动配置_第1张图片

开发板接口

STM32H743+FTFLCD(MCU)驱动配置_第2张图片

单片机引脚连接

STM32CubeMX配置:

FMC配置

 

STM32H743+FTFLCD(MCU)驱动配置_第3张图片

STM32CubeMX  FMC配置

读写时序时间设置直接参考了正点原子带的源码设置,如下图:

STM32H743+FTFLCD(MCU)驱动配置_第4张图片

 此处地址建立时间正点原子设置的17,STM32CubeMX时间操作最大只能设置15,所以此处设置了15。正点原子做了屏幕兼容,此处的时间设置并非最佳,最佳设置参考ILI9341数据手册。

MPU设置

前期在做屏幕驱动时,未设置MPU内存保护,各种仿真调试,基本的ID读取也不正确。后来参考了别人的文章,当使用FMC访问外部地址时,还必须配置MPU(内存保护单元),参考文章在篇首位置。

STM32H743+FTFLCD(MCU)驱动配置_第5张图片

MPU配置

 正点原子源码MPU配置内容如下:

STM32H743+FTFLCD(MCU)驱动配置_第6张图片

 剩下的就是添加驱动代码,此处不做描述,我是参考的硬件家园TFTLCD屏幕驱动。之前一直调试不通,就是没有添加MPU内存保护,因为硬件家园是用的103,没有MPU保护这块内容。谨记,MFC访问外部地址需开MPU内存保护。

你可能感兴趣的:(STM32,stm32,mcu,单片机)