我怎么把通过串口设置的参数让它断电后还能够保存下来,比如:地址

2019-07-31 15:48发布

如题
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
dirtwillfly
1楼-- · 2019-07-31 17:23
你用的msp430吗?可以把这些参数存在信息存储flash区
juky20080105
2楼-- · 2019-07-31 18:25
参数保存在单片机内部Flash,或者外接Flash都可以啊。
冰冷的游客
3楼-- · 2019-07-31 20:51
dirtwillfly 发表于 2014-8-22 11:29
你用的msp430吗?可以把这些参数存在信息存储flash区

怎么放到flash里面啊
dirtwillfly
4楼-- · 2019-08-01 00:55
 精彩回答 2  元偷偷看……
siyida
5楼-- · 2019-08-01 01:56
使用1片SPI或i2C FLASH,保存数据
冰冷的游客
6楼-- · 2019-08-01 04:32
dirtwillfly 发表于 2014-8-25 11:01
写flash

版主帮我再看下,怎么这个S_Data.address老是被改变啊,怎么处理
//存储数据 更改地址和ID
typedef struct{
    char Id_Data[5];
    char address;
}Data_Struct;

void ReadFlash(void *pData,unsigned char *pInfo,char n)//读数据
{
    memcpy(pData,pInfo,n);
}

void WriteFlash(unsigned char *pInfo,void *pData,char n)//写数据
{
    _DINT();
    FCTL3 = FWKEY;//清除"LOCK"标志
    FCTL1 = FWKEY + ERASE;
    *pInfo = 0;  //擦出
   
    FCTL1 = FWKEY + WRT;//准备写
    memcpy(pInfo,pData,n);
   
    FCTL1 = FWKEY;
    FCTL3 = FWKEY + LOCK;//LOCK
    _EINT();
}

然后这是调用的
void ADD_ID_Init(void)
{
   
    S_Data.address = 0x80;//地址
    WriteFlash((unsigned char *)0x1020,&S_Data.address,1);
    S_Data.Id_Data[0] = 0x11;
    S_Data.Id_Data[1] = 0x0E;
    S_Data.Id_Data[2] = 0xEE;
    S_Data.Id_Data[3] = 0x09;
    S_Data.Id_Data[4] = 0xD5;
    WriteFlash((unsigned char *)0x1010,S_Data.Id_Data,5);//仿真过了这个之后FLASH里的S_Data.address就变成0XFF了

}

一周热门 更多>