黄色大片在线免费观看_黄色大全下载_黄色的app下载_黄色的软件大全_亚洲国产不卡_亚洲国产成人91porn

信盈达—您身边的嵌入式&人工智能专家
全国免费咨询热线:400-8788-909
您现在的位置在: 首页> 技术文章>

时间:2018-11-19 00:00:00 来源:信盈达 作者:信盈达

LCD地址设置 

STM32采用结构体定义FSMC的地址


图中只画出了数据线与地址线 其他的线我没有花,请各位脑部一下,实在不行去看原子提供的LCD的原理图。

LCD有一个引脚是D/C引脚,用来区分往LCD中写入的数据是命令还是数据 Data/Command
比如说我要给LCD控制器的X寄存器写入数据Y 那么我需要先给LCD发送一个命令----X寄存器的地址,此时D/C引脚为低电平
然后再发送一个数据Y,此时D/C引脚为高电平。但是正常的FSMC总线中没有控制命令与数据的功能(或许我不知道)。
正常的FSMC是绝对地址寻址。也就是需要硬件地址线A0-AX(X为地址的长度)去控制。
所以STM32使用了一根地址线不是说往LCD控制的的某个地址写入数据。而是用这一根地址线去控制往LCD输入是命令还是数据。
那么是怎么控制的,咱们一点一点来分析。

首先数据手册上说 


STM32采用结构体定义FSMC的地址

为什么16位的时候要右移1位?这是因为宽度为16位的时候每写入一个数据,即为两个字节,那么地址就应该加2.
所以这样的话,用FSMC配置为16位数据宽度时,每次设置地址都只改变了HADDR[25:1],那么就会保证地址为2的倍数,不会出现从半个数据宽度的地址处写入数据的情况。搞清楚这个然后再来看原子提供的LCD结构体

typedef struct

{

    vu16 LCD_REG;

    vu16 LCD_RAM;

} LCD_TypeDef;
             

#define LCD_BASE        ((u32)(0x6C000000 | 0x0000007E))

#define LCD             ((LCD_TypeDef *) LCD_BASE)


这段代码,结构体中包含两个双字节成员LCD_REG跟LCD_RAM;
大家都知道结构体中的地址是从上到下连续增加的。
结构体的地址即为LCD_REG的地址。那么LCD_RAM的地址将为LCD_REG地址加2,因为是u16,双字节类型。
FSMC使用了NOR/SRAM的 Bank1 sector4 那么根据数据手册可以得知NOR/SRAM的起始地址为0x6000 0000
但是FSMC又把NOR这部分区域的地址分为了四块,在这使用的是第四块,所以HADDR[27 26] == 11
即27与26位为1,所以地址应该基地址应该为0x6C00 0000

然后再看地址线选用了A6当作LCD的D/C区分线,那么就应该是写入LCD_RAM时,第七位(还有A0嘛 这反应一下)应该为1。但是设置的数据宽度为16位,STM32会自动的右移1位,所以咱们需要反过来左移一位,那么就应该是1000 0000b 把这个数减2就应该是
0111 1110b 即为0x7E
那么0x6C00 0000 | 0x7E 这个地址将会是LCD结构体的首地址。 

#define LCD_BASE        ((u32)(0x6C000000 | 0x0000007E))


而这句话,将LCD_BASE代表这个地址数据

#define LCD             ((LCD_TypeDef *) LCD_BASE)

这句话将LCD定义为一个结构体指针,而这个结构体指针的地址为LCD_BASE

现在再反过来推一遍。
定义了这个结构体指针,第一个成员的地址为0x6C00 007E,第二个成员的地址为0x6C00 0080
把这两个数写成二进制格式
0110 1100 0000 0000 0000 0000 0111 1110
0110 1100 0000 0000 0000 0000 1000 0000
通过对比是不是看出来第8位从0变为了1,即为A7的电平状态,但是由于16位数据格式,要右移一位,所以就会成为A6的电平状态。
所以通过这个结构体对不同地址写入数据,就能控制是对LCD写入的是命令还是数据。
主站蜘蛛池模板: 日韩免费三级 | 久久国产成人亚洲精品影院老金 | 久久日韩| 国内精品福利爱丝视频_速发 | www精品一区二区三区四区 | 青青草视频在线免费观看 | 99视频网址| 国产成人精品日本亚洲网址 | 啪啪免费网址 | 国产精品99久久久久久小说 | 成人a毛片 | 欧美亚洲中日韩中文字幕在线 | 久久国产免费一区二区三区 | 国产一精品一aⅴ一免费 | 看一级特黄a大片日本片黑人 | 福利视频在线观看免费版 | 九九久久久久午夜精选 | 欧美日韩北条麻妃一区二区 | 青青青在线网站视频在线 | 久久国产成人精品国产成人亚洲 | 欧美一级性视频 | 日本在线黄色网址 | 国产精品三| 91杏吧在线网站 | 奇米色第四色 | 日韩精品欧美国产精品亚 | 成人爽爽激情在线观看 | 青青国产 | 6一10周岁毛片在线 72种姿势欧美久久久久大黄蕉 | 国产成人19禁在线观看 | 青青青在线网站视频在线 | 国产成人精品免费大全 | 欧美日本免费一区二区三区 | 奇米影视盒7777| 成人中文字幕一区二区三区 | 成人a免费视频播放 | 欧美一区二区三区在线视频 | 91麻豆精品福利在线观看 | 成人老司机深夜福利久久 | 国产在线观看91精品不卡 | 国产成人精品午夜在线播放 |