typedef struct { vu16 LCD_REG; vu16 LCD_RAM; } LCD_TypeDef; #define LCD_BASE ((u32)(0x6C000000 | 0x000007FE)) #define LCD ((LCD_TypeDef *) LCD_BASE) ———————————————— 在定义LCD结构是用这两个变量控制的RS的输出,从而控制LCD命令/数据端。 首先0x6C使用存储器1的使用存储器1的4区决定,0000x000007FE为A10偏移量(硬件连接是PG0-FSMC_A10-LCD_RS),连接16位存储器,fsmc此时右移1位 0111111111110,0011111111111111,此时第10位为0,A10输出0,则LCD_REG控制了RS位为0。然后结构体自增1,变成010000000位为1,则控制A10输出1。然后结构体自增1,变成010000000位为1,则控制A10输出1。