金牌会员
 
- 积分
- 1238
- 金钱
- 1238
- 注册时间
- 2013-1-9
- 在线时间
- 121 小时
|
15金钱
在V3版的程序中的连续读程序://在指定地址开始,连续写入n个字节.
//pBuffer:字节指针
//WriteAddr:要写入的地址
//n:要写入的字节数
void FSMC_SRAM_WriteBuffer(u8* pBuffer,u32 WriteAddr,u32 n)
{
for(;n!=0;n--)
{
*(vu8*)(Bank1_SRAM3_ADDR+WriteAddr)=*pBuffer;
WriteAddr++; //这里写入地址加1
pBuffer++;
}
}
但是在老版的程序中
//在指定地址开始,连续写入n个字节.
//pBuffer:字节指针
//WriteAddr:要写入的地址
//n:要写入的字节数
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. 这里写入地址加2
pBuffer++;
}
}
一个写入地址加1,一个写入地址加2,在老板上都能正常运行,是什么原因?
|
|