fsmc中的A10的偏移量到底应该怎么去计算?

2019-07-21 02:57发布

fsmc中的A10的偏移量到底应该怎么去计算?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
正点原子
1楼-- · 2019-07-21 03:26
楼主关键要明白FSMC是个什么东西.
访问外部设备的时候,怎么访问.

这个机制不了解,再怎么和你解释,也没用啊.

驱动液晶,无非就是控制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?

这个你应该容易想出来了吧?
正点原子
2楼-- · 2019-07-21 06:10
 精彩回答 2  元偷偷看……
慕名兰
3楼-- · 2019-07-21 10:38
正点原子 发表于 2014-2-14 15:44
STM32的FSMC,在16位数据宽度的时候,地址线是右移一位对齐,且A0,永远接设备的A0.
意思就是说,你写数据的地 ...

刚刚学到FSMC,我想问一下地址必须是2的整数倍的原因是不是16位的?8为一地址(一般的话)而这里的数据宽度是16所以才是2的倍数?
八度空间
4楼-- · 2019-07-21 13:01
 精彩回答 2  元偷偷看……
八度空间
5楼-- · 2019-07-21 14:25
回复【楼主位】雪雪:
---------------------------------
Bank(x).region(y) + 2 * (2^n)

Bank(x).region(y)为控制块的首地址
n为你所接的地址管脚号
雪雪
6楼-- · 2019-07-21 15:29
回复【2楼】Badu_Space:
---------------------------------
不懂,求解释

一周热门 更多>