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