高级会员

- 积分
- 509
- 金钱
- 509
- 注册时间
- 2016-11-16
- 在线时间
- 111 小时
|
发表于 2017-10-26 15:58:09
|
显示全部楼层
a:战舰板中,RS接的A10 则A10为1是写数据,A10为0是写命令
b:而因为FSMC用的是第一块 片选CS又是接NE4就是第四区所以基地址为0x6c000000
c:向这个地址写数据 就是向SARM的这个地址写数据 FSMC就会自动把数据从数据线传过去
d:那么定义一个结构 包含两个成员一个是REG就是命令 一个RAM就是数据 因为LCD接的数据宽度是16位 所以这两个成员都是16位的即占2个字节 每个成员占内存2个地址
e: 由以上 可以设置这个结构在内存上的地址(16位宽的LCD 地址对应要移动1位 即A10是地址上的位11):
110 1100 0000 0000 0000 1000 0000 0000 写数据RAM存这:0x6c000800
110 1100 0000 0000 0000 0111 1111 1110 写命令REG存这:0x6c0007FE
所以可以得到这个结构体的定义 (按结构体排列规则 第一个成员的地址比后面的小)
typedef struct
{
u16 LCD_REG; 地址是0x6c0007FE
u16 LCD_RAM; 地址是0x6c000800
}LCD_TypeDef |
|