//定义的参数
#define FLASH_SAVE_ADDR (105*0x400+0x08000000)
sizeof(FA.Content.Buff)大于60
//定义的结构体
typedef struct
{
INT8U enable;
INT8U ringing;
INT32U delayms;
_64bit end;
TimeCallBack* cb;
}timer;
static timer aTimer[50];
//用到的函数 结构体数组初始化
void TIMER_Init(void)
{
for(INT8U i=0;i<TIMER_NUM;i++)
{
aTimer[i].enable=0;
aTimer[i].ringing=0;
aTimer[i].delayms=0;
aTimer[i].end=0;
aTimer[i].cb=TIMER_Dummy;
}
}
//用到的函数 半字节读取
STMFLASH_Read(FLASH_SAVE_ADDR,(u16*)FA.Content.Buff,sizeof(FA.Content.Buff));
//出现的问题:在主函数中如果先调用TIMER_Init()初始化结构体,
//后 调用STMFLASH_Read读取数据,就会改变aTimer[0]到aTimer[5]的结构体成员初始值
//先后顺序颠倒后就不会出问题
求助各位大神能知道什么原因吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>