TFT的RS端地址偏移量请教

2019-10-14 21:11发布

战舰版里的TFT使用FSMC来显示数据,使用FSMC_A10控制RS端,
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A1作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111110=0X3E      
#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))
#define LCD             ((LCD_TypeDef *) LCD_BASE)
这个使用A10的地址偏移是0x000007FE,这个是怎么算的?
加入我使用A0呢,偏移又是多少
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
正点原子
1楼-- · 2019-10-18 21:34
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-10-15 00:57
 精彩回答 2  元偷偷看……
PCA
3楼-- · 2019-10-15 01:14
看了没看懂


,下面两行的FSMC是不是指FSMC_A[]?
正点原子
4楼-- · 2019-10-15 07:11
是 的
PCA
5楼-- · 2019-10-15 10:46
回复【4楼】正点原子:
---------------------------------
问题已解决,多谢
Tardis
6楼-- · 2019-10-15 12:12
FSMC其实很简单,STM32的FSMC中的SRAM部分分了4个区,每个区64M的,区里面的地址就对应FSMC的A系列引脚,例如你如果要驱动TFT的话,那FSMC上的A0接在TFT的RS引脚上,由于TFT的协议和SRAM的相似,这里用FSMC的地址引脚驱动TFT,就相当于你把TFT当作是一个4个字节(两个u16,一个寄存器,一个数据,也就是4个字节)的SRAM,当你把FSMC设置为16位数据宽度的话,那么FSMC就按照16位数据模式传送,也就是每个地址放2个字节数据,也就是u16,例如SRAM有很多地址,当你在SRAM第0个地址上放数据,FSMC的A0就高电平,然后WR脉冲,当你往SRAM的第1个地址放数据,FSMC的A1就高电平,A0就低电平,利用这点,可以把TFT弄到FSMC上,RS刚好接FSMC的A0那里,这样就可以用FSMC控制TFT了,不知道我说的详细不?望楼主能看懂。

一周热门 更多>