原创 STM32 FSMC 驱动液晶的地址问题 要点

2010-12-24 19:49 3895 16 17 分类: MCU/ 嵌入式

STM32系列有FSMC模块的芯片类型不多,但是还是经常用的,最近就学习了下FSMC,有些心得贴出来希望能方便大家快速掌握FSMC,


关键词:FSMC 液晶 地址 左移 


STM32的FSMC 连接外设 比如液晶,要把液晶分为两部分来对待,一部分是液晶寄存器,一部分是液晶显示的数据,可以当做显存吧。


因此用一个地址线 Ax 来区分当前连接的是寄存器还是显存,假使RS引脚为高时代表寄存器被选通,,


那么地址线上该位Ax就可以决定选通什么,


不过地址线是指导了,可是还有地址。


假设A0连接的是RS,那么选通液晶寄存器的尾地址是什么?


当传输是16位时,是0x???? 0002,不是0x???? 0001


看下面的图片说明(来自官方手册)


 5e49d407-622a-4f7d-8381-f35ac914ae2c.jpg


16位数据在内部使用【25:1】访问,8位数据地址时按照内部访问地址与外部实际连接地址一致


也就是实际地址数左移一位后的地址,或许也可以看做外部连接地址X2,


搞明白这点其他都好理解


举例:


9G的液晶移植例子中选用A16连接LCD的RS引脚


那么实际上连接的外部引脚地址是0x6001 0001,但是在通过内部CPU选择该地址时要用 0x6002 0001


对于RS的连接地址,CPU从内部访问它用的地址比外部实际地址左移了一位,这是在16位的访问模式下。

文章评论1条评论)

登录后参与讨论

用户794933 2013-11-7 14:01

楼主分析的好深入,学习了
相关推荐阅读
用户244424 2014-08-28 02:05
[转自21IC]旁路电容、去耦电容和消振电容答疑
在三极管放大器中,以共发射极的多级放大器为例,信号从基极输入,在基极偏置电路和集电极负载的作用下,从集电极斩输出,以上是放大器的工作过程。 为何要在发射极加旁路电容呢? 这是因为发射极电阻...
用户244424 2012-11-02 14:19
C语言 头文件 相对路径 (有局限性)
使用当对路径 假如在当前文件夹下的ABC文件夹下: #include   ".\\ABC\\head.h " 假如在当前的上一级文件夹下的ABC文件夹: #include   "..\\ABC\\...
用户244424 2012-03-21 15:14
基本知识: 宏定义的作用范围
  假如在主文件 main.c 中定义 #define _count_buf_size_ 100 #define _Mesure_buf_max_ 15   那么到其他c文件...
用户244424 2011-08-22 23:15
Win7 虚拟机 NAT方式 共享上网
开始对虚拟机NAT方式一点不了解,半天搞不对虚拟机共享上网,网上查了很多教程,明明按着做了还是不对,连接不上,以为是 Visual Network Editor 里的网关设置不对,于是越试越糊涂,最后...
用户244424 2011-08-20 01:19
各种 位数据 倒序 函数
/****************************************//* 函数名称: SwapD7_D0 */ /* 函数功能: D7-D0位置交换 *//****...
用户244424 2011-03-01 15:09
IAR 开发STM32 ARM 版本不兼容 解决办法之一
对于V4 和V5不兼容的解决方法很多了,最近用V6 版开发,结果同事用V5.3版 ,我调通之后代码给他,结果他那边显示错误,配置资料失效了,查看是版本不同导致的懒得转换,但是没办法还是得转换,只好新建...
我要评论
1
16
关闭 站长推荐上一条 /2 下一条