中级会员
 
- 积分
- 285
- 金钱
- 285
- 注册时间
- 2016-7-16
- 在线时间
- 73 小时
|
20金钱
大家好:
最近在写一个fsmc驱动T6963C液晶屏的小程序,坛子里搜到了一些关于fsmc配置的资料,但都是16位的,想用原子哥的TFT_LCD例程的方法写一个驱动,WR和RD的信号先不管,CD信号接A22,对应RS信号,我接的是 8 位宽度存储器的: HADDR[25:0]->FSMC[25:0]。注:CD = 0 时,表示读写数据RAM;CD = 1 表示读写寄存器REG。
问题一:8位数据宽度时,是不是不需要像16位宽度时右移一位?直接操作A22就好,不需要去操作A23了?
问题二:假如接的是BANK1_NORSRAM3,液晶的片选CS是不是必须要接到FSMC_NE3上?如果是,那别人给我画的板子就是坑啊
问题三:&LCD->REG=0x68000000+2^22=0x68400000 ;&LCD->RAM=0x6800 0000,对不对?
问题四:RAM接的8位,占一个字节,那么偏移地址的第0位就不必按照原子哥说的必须是0 了吧?
问题五:偏移量的计算,#define LCD_BASE ((u32)(0x68000000 | 偏移地址)) 说明:8位数据宽度,REG和RAM两者的01状态相比原子哥用的液晶RS是相反的,假如不需要右移一位,我计算的8位的偏移地址是3FFFFF,并且要将LCD_RAM放在结构体的第一个成员,对应A22=0,A21=1,由于是8位,自动加一后便是LCD_REG,A22=0,实现CD信号的变换。
最近软硬件都在调,产生了很多的疑惑,希望和大家讨论一下,多谢了
|
|