FSMC高低字节选择通道(NBL)疑问,求大神解答

2019-07-20 10:16发布

在学习F4074探索板的外部SRAM实验时,对于由于外部外扩的SRAM是16位的,而在程序中的读写函数pBuffer都是8位的,参考了中文参考手册,看了视频,始终也没有搞明白NBL[1]、NBL[0]跟地址位的最低位有什么联系,在中文参考手册中FSMC中章节的的  通用事务规则  中,提到了AHB事务数据宽度和存储器数据宽度不一样时的处理,但是感觉说的很不清楚,在原子给出的视频讲解中,提到了高低字节通道的值(为0或者1)与地址位的最低位有关系,但是查看手册,并没有发现关系是什么,能查到的也仅仅是刚才说的通用事务规则。
       在FSMC初始化时,已将外部存储的位数设为16位,即HADDR[25:1]-> FSMC_A[24:0]
1、有没有人给屡一下这个读写的过程是什么,NBL[1]、NBL[0]是受什么控制的?
2、如果pBuffer也是16位的,那读写函数应该怎么更改,直接将那个地址加2吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
bh1023058880
1楼-- · 2019-07-21 04:00
aozima 发表于 2017-12-29 10:19
[mw_shl_code=c++,true]*(volatile uint8_t *)xx0  = 1;  // FSMC_NBL0
*(volatile uint8_t *)xx1  = 1;   ...

这是哪里的操作,F4中没有见到啊。可以简单说下吗
aozima
2楼-- · 2019-07-21 06:32
 精彩回答 2  元偷偷看……
正点原子
3楼-- · 2019-07-21 10:59
 精彩回答 2  元偷偷看……
严加伟
4楼-- · 2019-07-21 15:37
1.SRAM.png

一周热门 更多>