由FSMC想到的一点疑问,我知道肯定是我单片机基础没学好,空中楼阁了,特来请教。

2019-08-17 00:49发布

本帖最后由 oyixi001 于 2017-3-29 23:13 编辑

我一直都是跟着开发边学边用,所以单片机基础学的差了点吧,都是建立在能用就行的基础上。玩儿STM32也有一两年了,用原子哥的板子很顺手啊。
最近比较闲开始琢磨一些基础性的问题,可能很傻哈。

我理解的,这个FSMC就是把定义在寻址范围内的变量在读或写的时候同样的通过IO的时序把数据写到对应的器件里去,可以是外挂的SRAM、LCD啥的。
比如,原子哥用的lcd  定义WR_REG 0X000007FE; WR_data 0x00000800; 当对这两个地址的变量进行读或写时就会相应地操作FSMC。

然后我就很奇怪,这个变量被强制定义在这个地址,这个地址是什么呢?
我想:1、直接对应片内的RAM某个word? 2、还是直接对应片内的FLASH某个word?3、或者是片内的RAM的一个word然后被强制赋予了一个0x000007fe的地址?
如果是1、2、感觉不可能,毕竟片内RAM没有这么多空间啦。感觉可能是3吧,或者都不对。
还是那句话,单片机原理学的差,东西一多就搅合了,再加上平时还做点汇编的8位垃圾单片机程序,感觉好乱。
求原子哥或哪位大神帮忙理理!@正点原子  。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
szczyb1314
1楼-- · 2019-08-19 00:55
oyixi001 发表于 2017-4-5 21:23
你没理解我在6楼的回复。
我给你打一个比喻你就明白了。
STM32片内是有RAM的,好比是有一栋大楼,大楼 ...

说的很形象啊,这个不是很清楚的完全可以去看DSP(TMS320F2812或者是TMS320F28335)的XINTF,DSP外扩RAMFLASHADCDAC等的时候也是这样子的
TeeTown
2楼-- · 2019-08-19 05:03
oyixi001 发表于 2017-4-5 21:23
你没理解我在6楼的回复。
我给你打一个比喻你就明白了。
STM32片内是有RAM的,好比是有一栋大楼,大楼 ...

谢谢,比较形象,暂时不知道怎么问了哈。
二十一画生
3楼-- · 2019-08-19 09:04
 精彩回答 2  元偷偷看……

一周热门 更多>