2019-07-21 02:57发布
正点原子 发表于 2014-2-14 15:44 STM32的FSMC,在16位数据宽度的时候,地址线是右移一位对齐,且A0,永远接设备的A0. 意思就是说,你写数据的地 ...
最多设置5个标签!
访问外部设备的时候,怎么访问.
这个机制不了解,再怎么和你解释,也没用啊.
驱动液晶,无非就是控制WR,RD,CS,RS,D0~D15,这么些型号.
命令和数据,就是通过RS区分的,就是一个高低电平.
所以你要配置FSMC,去控制写命令和写数据的时候,刚好可以改变RS的状态.
这就是你要核心理解的东西.
FSMC有啥?无非就是地址,数据,片选.
这三类控制信号.
地址:A0~A2X.
数据0~D15
片选:NE1~NEX
而片选和数据线,是固定死了的.肯定没法去控制RS了...
那么就只能考虑地址线控制RS了.
前面说了,RS的高低电平,决定了是数据还是命令,自然,你配置FSMC的时候,一定要可以做到这一点才可以啊.
怎么做到?了解FSMC控制外部SRAM的原理么?
A0~AXX是根据地址的大小,来变化的.直接就反应了当前的地址状况.
那么如何做到让一个地址的时候A10=0,下一个地址的时候A10=1?
这个你应该容易想出来了吧?
刚刚学到FSMC,我想问一下地址必须是2的整数倍的原因是不是16位的?8为一地址(一般的话)而这里的数据宽度是16所以才是2的倍数?
---------------------------------
Bank(x).region(y) + 2 * (2^n)
Bank(x).region(y)为控制块的首地址
n为你所接的地址管脚号
---------------------------------
不懂,求解释
一周热门 更多>