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条回答
北溟鱼
2019-10-19 00:07
回复【33楼】Tardis:
谢谢,我也是这么想的。还有个问题想问你。例程中LCD屏的的CS接FSMC_NE4,RS接FSMC_A10,对应开发板上也就是PG12,和PG0。现在我想把程序改为CS接FSMC_NE1,RS接FSMC_A16,对应开发板上PD7,和PD11。程序部分我把
lcd.h中的#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))改为:
             #define LCD_BASE        ((u32)(0x60000000 | 0x0001FFFE))
把lcd.c中的FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM4;//  这里我们使用NE4 ,也就对应BTCR[6],[7]
改为:FSMC_NORSRAMInitStructure.FSMC_Bank = FSMC_Bank1_NORSRAM1;
   把 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM4, ENABLE);  // 使能BANK1 
改为 FSMC_NORSRAMCmd(FSMC_Bank1_NORSRAM1, ENABLE);  // 使能BANK1 

我想问一下,这样改有错吗?但为啥屏幕只是白屏,什么都不显示,还是还有其他地方需要改动?

一周热门 更多>