板子上的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
谢谢了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
void FSMC_SRAM_WriteBuffer(u16* pBuffer,u32 WriteAddr,u32 n)
{
for(;n!=0;n--)
{
*(vu16*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;
WriteAddr+=2;
pBuffer++;
}
}
一周热门 更多>