//LCD地址结构体
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其!
#defineLCD_BASE ((u32)(0x6C000000 | 0x000007FE))
#defineLCD ((LCD_TypeDef *)LCD_BASE)
LCD_BASE,须根据外部电路的连接来确定,如Bank1.sector4就是从地址0X6C000000开
始,而0X000007FE,则是A10的偏移量。以A10为例,7FE换成二进制为:1111111 1110
,而16位数据时,地址右移一位对齐,对应到地址引脚,就是:A10:A0=0111111 1111,
此时A10是0,但是如果16位地址再加1(对应到8位地址是加2,即7FE+0X02),那么:
A10:A0=1000000 0000,此时A10就是1了,即实现了对RS的0和1的控制
LCD_TypeDef结构体地址,那么可以得到LCD->LCD_REG的
地址就是0X6C00,07FE,对应A10的状态为0(即RS=0),而LCD->LCD_RAM的地址就是
0X6C00,0800(结构体地址自增),对应A10的状态为1(即RS=1),从而实现对RS的控制。
(疑问)。。。。。。。。