本帖最后由 ahsssxd 于 2016-6-12 10:09 编辑
F407向芯片内部Flash写数据,采用数组写入,只有前面一个数据正确后面数据出现错误,怎么回事
const u32 TEXT_Buffer[]={3587,7};
#define TEXT_LENTH sizeof(TEXT_Buffer)
#define SIZE TEXT_LENTH/4+((TEXT_LENTH%4)?1:0)
#define FLASH_SAVE_ADDR 0XF800C004
u16 datatemp[SIZE];
u32 temp_num=0;[/mw_shl_code]
STMFLASH_Write(FLASH_SAVE_ADDR,(u32*)TEXT_Buffer,SIZE);
//主函数里面
STMFLASH_Read(FLASH_SAVE_ADDR,(u32*)datatemp,SIZE);
temp_num=datatemp[0];
printf("
%d",temp_num);
temp_num=datatemp[1];
printf("
%d",temp_num); [/mw_shl_code]
串口输出的数据,3587数据是正确的,请问是什么原因导致数据错误的
0[2016-06-12 10:10:20.951]
3587[2016-06-12 10:10:20.951]
0[2016-06-12 10:10:21.139]
3587[2016-06-12 10:10:21.139]
0[2016-06-12 10:10:21.341]
3587[2016-06-12 10:10:21.341]
0[2016-06-12 10:10:21.529]
3587[2016-06-12 10:10:21.529]
0[2016-06-12 10:10:21.716]
3587[2016-06-12 10:10:21.716]
0[2016-06-12 10:10:21.903]
3587[2016-06-12 10:10:21.903]
0[2016-06-12 10:10:22.090]
3587[2016-06-12 10:10:22.090]
0[2016-06-12 10:10:22.277]
3587[2016-06-12 10:10:22.277]
0[2016-06-12 10:10:22.465]
3587[2016-06-12 10:10:22.465]
0[2016-06-12 10:10:22.652]
3587[2016-06-12 10:10:22.652]
0[2016-06-12 10:10:22.839]
3587[2016-06-12 10:10:22.839]
0[2016-06-12 10:10:23.042]
3587[2016-06-12 10:10:23.042]
0[2016-06-12 10:10:23.229]
3587[2016-06-12 10:10:23.229][/mw_shl_code]
补充内容 (2016-6-19 21:29):
已解决
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>