外部SRAM实验,写入16位数据宽度。

2019-07-20 11:36发布

外部SRAM例程,FSMC_SRAM_WriteBuffer函数,当写入的数据是u16型的时候,可以改为下面这样么?

void FSMC_SRAM_WriteBuffer(u16* pBuffer,u32 WriteAddr,u32 n)

{               *(vu16*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;                                                         WriteAddr+=2;
                pBuffer++;
}               

改为这样可以么?


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-20 16:50
写函数是可以这样改的。你用的时候对应的改过来就行了。  
peng1554
2楼-- · 2019-07-20 16:57
不行 你这样写之后 main.c的fsmc_sram_test()函数会报错
wzwz
3楼-- · 2019-07-20 18:04
 精彩回答 2  元偷偷看……
gotofly21
4楼-- · 2019-07-20 19:19
不明白写变量还要弄个函数,直接定义变量到外部ram,操作和内部ram是一样的啊
wzwz
5楼-- · 2019-07-20 20:10
正点原子 发表于 2017-10-10 20:44
写函数是可以这样改的。你用的时候对应的改过来就行了。

写入u16型的数据,写函数FSMC_SRAM_WriteBuffe改为
void FSMC_SRAM_WriteBuffer(u16* pBuffer,u32 WriteAddr,u32 n)
{              
               *(vu16*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;
                WriteAddr+=2;                                                              
                pBuffer++;
}

当在主函数里使用FSMC_SRAM_WriteBuffe函数的时候,改为

      u16 temp=0;       
      for(i=0;i<65536;i+=4096)
        {
                FSMC_SRAM_WriteBuffer(&temp,i,1);
                temp++;
        }
这样使用FSMC_SRAM_WriteBuffe函数可以么?
大兴
6楼-- · 2019-07-21 00:08
 精彩回答 2  元偷偷看……

一周热门 更多>