好,FSMC是吧TFTLCD当成SRAM设备来用的,其操作时序和SRAM的控制完全类似,唯一不同的就是TFTLCD有RS信号,但是没有地址信号。 TFTLCD是通过RS信号来决定传送的数据是数据还是命令,本质上可以理解为一个地址信号,比如我们把RS接在A10上面(当然A0-Axx都可以)。那么LCD到底是怎么判断我们写的是命令还是数据呢?下面是重点...
*(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 空间。如下图所示: 本实验...
25:1] 地址来作为对外部存储器的寻址地址 FSMC_A[24:0],相当于右移了一位,在后面我们设置 A10 ...
4、在LCD控制中,我们没有地址线,只用数据线,但有一条线RS,我们是通过控制写的地址来实现RS的高低的,如何实现呢?以原子的板子为例,RS用的是FSMC_A10,也就是10号地址线。而我们用到的是16位数据,所以应该注意数据的第11位,我们写的地址,如果11位为1,那RS就是高电平,反之,就为低电平。原子用的写命令地址...
FSMC并不是拥有真的1GB的空间,FSMC是能够管理1GB的空间,内核将这1GB的地址交由FSMC管理。我们设置好读写时序后,FSMC会在我们读写时自动按照时序读写,拉读写使能,数据保持。LCD本省并不具有存储空间,STM32将FSMC的地址线A10连接上LCD的RS,我们选用bank1块4. ...
(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 写寄存器和写数据代码如下: ...
公式:FSMC_Ay(y=0…25):2^y*2当y=10时,A10=2^10*2=0x800 所得:代表LCD命令的地址:0x6...
25:1] 地址来作为对外部存储器的寻址地址 FSMC_A[24:0],相当于右移了一位,在后面我们设置 A10 ...