打印

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

[复制链接]
1049|11
手机看帖
扫描二维码
随时随地手机跟帖
沙发
dirtwillfly| | 2014-8-22 11:29 | 只看该作者
你用的msp430吗?可以把这些参数存在信息存储flash区

使用特权

评论回复
板凳
juky20080105| | 2014-8-22 11:38 | 只看该作者
参数保存在单片机内部Flash,或者外接Flash都可以啊。

使用特权

评论回复
地板
冰冷的游客|  楼主 | 2014-8-25 10:40 | 只看该作者
dirtwillfly 发表于 2014-8-22 11:29
你用的msp430吗?可以把这些参数存在信息存储flash区

怎么放到flash里面啊

使用特权

评论回复
5
dirtwillfly| | 2014-8-25 11:01 | 只看该作者
冰冷的游客 发表于 2014-8-25 10:40
怎么放到flash里面啊

写flash

使用特权

评论回复
6
siyida| | 2014-8-25 16:47 | 只看该作者
使用1片SPI或i2C FLASH,保存数据

使用特权

评论回复
7
冰冷的游客|  楼主 | 2014-8-25 16:50 | 只看该作者
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了

}

使用特权

评论回复
8
冰冷的游客|  楼主 | 2014-8-25 16:56 | 只看该作者
siyida 发表于 2014-8-25 16:47
使用1片SPI或i2C FLASH,保存数据

谢谢

使用特权

评论回复
9
冰冷的游客|  楼主 | 2014-8-25 16:58 | 只看该作者
dirtwillfly 发表于 2014-8-25 11:01
写flash

好了,我初始化的时候改成void ADD_ID_Init(void)
{
   
    S_Data.address = 0x80;//地址
    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;
    Write_Data((unsigned char *)0x1010,&S_Data,6);

}
这样就对了,谢谢版主了

使用特权

评论回复
10
dirtwillfly| | 2014-8-25 20:47 | 只看该作者
冰冷的游客 发表于 2014-8-25 16:58
好了,我初始化的时候改成void ADD_ID_Init(void)
{
   

使用特权

评论回复
11
firstblood| | 2014-8-25 22:24 | 只看该作者
就是参照楼上的意见的,吧这些数据的存到flash中的,断电后肯定不会丢的。

使用特权

评论回复
12
冰冷的游客|  楼主 | 2014-8-26 08:38 | 只看该作者
firstblood 发表于 2014-8-25 22:24
就是参照楼上的意见的,吧这些数据的存到flash中的,断电后肯定不会丢的。 ...

好的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

75

帖子

0

粉丝