简而言之,A10 在数据线上表示从0开始第10个bit,如果其为1 就是 100,0000,0000.
如果为0,就是 000,0000,0000。用A10的位1/0来表示RS的命令和数据操作。
为什么???其实因为正点原子板子接的就是A10
当然你要是用A11,也可以,改一下引脚就行。
因为TFT没有地址引脚,STM32提供的地址引脚就没有用处。
就拿地址来作为区分数据命令
为什么正点原子里面用的结构体,因为结构体内元素地址具有自增性质
//LCD地址结构体
typedef struct
{
vu16 LCD_REG;
vu16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其!
#define LCD_BASE ((u32)(0x6C000000 | 0x000007FE))
#define LCD ((LCD_TypeDef *) LCD_BASE)
将地址LCD_BASE强转成结构体类型指针(地址)LCD_TypeDef。而且typedef struct支持直接访问结构体成员。结构体内部地址自增。可以将地址空间看作是2^32个8位字节或者2^31个16位半字或2^30个32位字
也就出现了 位10 0和1的两种情况。