本帖最后由 15113484470 于 2014-11-13 11:18 编辑
在某宝买了一块红牛板,以前没接触过FSMC,在学习彩屏时有一些疑问,希望高手指点,我看屏的RS是接在PF0,也就是FSMC的A0,CS是接在PG12,也就是FSMC的NE4,再看F1的参考手册FSMC部分 ,只有存储块1是挂SRAM的,到这里,就是说屏是挂载在FSMC_Bank1_NORSRAM4,我的疑问就是在这个地址计算上,再看手册,
屏是挂载在FSMC_Bank1_NORSRAM4,对比手册,HADDR[27:26]位用于选择四个存储块之一,27:26选择为11,然后看他的例程有个这样的宏定义#define LCD_BASE ((u32)(0x60000000 | 0x0C000000)) #define LCD ((LCD_TypeDef *) LCD_BASE) ,
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue)
{
/* Write 16-bit Index, then Write Reg */
LCD->LCD_REG = LCD_Reg;
/* Write 16-bit Reg */
LCD->LCD_RAM = LCD_RegValue;
}
没明白LCD->LCD_REG = LCD_Reg;就是写寄存器?
LCD->LCD_RAM = LCD_RegValue;就是写数据?RS脚为什么有高低的变化?这样就能对屏进行读写操作了,比我们把某些脚拉高拉低方便多了,只是不太理解他的操作过程,望大神不吝赐教,最后奉上显示图
|