好,FSMC是吧TFTLCD当成SRAM设备来用的,其操作时序和SRAM的控制完全类似,唯一不同的就是TFTLCD有RS信号,但是没有地址信号。 TFTLCD是通过RS信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如我们把RS接在A10上面(当然A0-Axx都可以)。那么LCD到底是怎么判断我们写的是命令还是数据呢?下面是重点...
当然 RS 也可以接在其他地址线上,我们STM32F1 开发板是把 RS 连接在 A10 上面的。知道了可以将 ...
而当FSMC_A10为高电平时(即RS为高电平),FSMC_D[15:0]被理解为数据。 当FSMC_A10为低电平时(...
25:1] 地址来作为对外部存储器的寻址地址 FSMC_A[24:0],相当于右移了一位,在后面我们设置 A10 ...
当然 RS 也可以接在其他地址线上,我们STM32F1 开发板是把 RS 连接在 A10 上面的。 知道了可以将 TFTLCD 当做 SRAM 设备用,下面我们就来看下 FSMC 的外部设备地址映射,从 FSMC 的角度,外部存储器被划分为 4 个固定大小的存储区域(Bank),每个存储区域的大小为 256 MB,共 1GB 空间。如下图所示: 本实验...
当然 RS 也可以接在其他地址线上,我们STM32F1 开发板是把 RS 连接在 A10 上面的。 知道了可以将 TFTLCD 当做 SRAM 设备用,下面我们就来看下 FSMC 的外部设备地址映射,从 FSMC 的角度,外部存储器被划分为 4 个固定大小的存储区域(Bank),每个存储区域的大小为 256 MB,共 1GB 空间。如下图所示: 本实验...
根据LCD硬件接口时序8080,要想实现对LCD屏数据显示则需要完成LCD写数据和写寄存器,LCD接在FSMC_Blank1的region4上,通过地址线FSMC_A10作为数据命令选择线,通过FSMC地址映射关系可知: 读写寄存器地址:0x6c000000 读写数据地址:0x6c000800 写寄存器和写数据代码如下: ...
比如我们选择了FSMC_A10这根地址线来接,那么当我们要往LCD写指令的时候,我们需要D/C拉低,也就是FSMC_A10拉低。 l 软件中怎么做呢?也就是将要写的地址改成0X6C000000,如下: *(volatile unsigned short int *)(0X6C000000) = val;//写指令
4、在LCD控制中,我们没有地址线,只用数据线,但有一条线RS,我们是通过控制写的地址来实现RS的高低的,如何实现呢?以原子的板子为例,RS用的是FSMC_A10,也就是10号地址线。而我们用到的是16位数据,所以应该注意数据的第11位,我们写的地址,如果11位为1,那RS就是高电平,反之,就为低电平。原子用的写命令地址...
GPIO_Init(FSMC_A10_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = FSMC_A11_GPIO_PIN; GPIO_Init(FSMC_A11_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = FSMC_A12_GPIO_PIN; GPIO_Init(FSMC_A12_GPIO_PORT, &GPIO_InitStructure); ...