SRAM的一些问题不懂求解答

2019-07-21 02:04发布

板子上的1M字节(512K储存单元+16位宽,发开指南这么写的)
我的理解是
地址
0000000000000000000  (19个) 对应储存单元0  16位
0000000000000000001  (19个) 对应储存单元1  16位
.
.
.
问题
怎么进行字节控制?
教程的例子(库函数)
void FSMC_SRAM_WriteBuffer(u8* pBuffer,u32 WriteAddr,u32 n)
{
for(;n!=0;n--)  
{    
*(vu8*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;  
WriteAddr+=2;//这里需要加2,是因为STM32的FSMC地址右移一位对其.加2相当于加1.
pBuffer++;
}   
}
假设WriteAddr=0
第一次往
0000000000000000000 写一个字节
第二次往0000000000000000001 写一个字节
那岂不是 16位的空间 只放了一个字节??
还有那个UB LB信号线控制高低字节在哪里体现,FSMC怎么知道什么时候UB/LB为0 什么时候为1


谢谢了




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
不找借口
1楼-- · 2019-07-21 03:47
难道用了那个UB/LB控制线就可以看成1024k个储存单元 +8位位宽?
正点原子
2楼-- · 2019-07-21 03:51
回复【楼主位】不找借口:
---------------------------------
就是UB,LB的作用,在这里体现了。
正点原子
3楼-- · 2019-07-21 04:22
 精彩回答 2  元偷偷看……
不找借口
4楼-- · 2019-07-21 08:32
回复【4楼】正点原子:
---------------------------------
假设我要写入16位的数据 UB LB都要为低电平 FSMC自动控制的吗?
不找借口
5楼-- · 2019-07-21 12:37
回复【4楼】正点原子:
---------------------------------
每次写入数据地址+1,你的理解是...0000000  ...0000001(19位 )共同组成1个储存单元,那么需要20条地址线     而 地址线为19条 只能访问512K个
正点原子
6楼-- · 2019-07-21 17:35
回复【5楼】不找借口:
---------------------------------
FSMC自动控制的。
19根就够了,是512*16.

一周热门 更多>