2703|2

2

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

msp430 Flash 信息存储器读取问题 [复制链接]

最近在学习MSP430 Flahs存储,用的官方G2仿真板,想法是把一组数据存储到MCU自带的信息存储器里面去,主程序先在0x1000地址存储了一个数组{1,2,3,4,5,6},然后在用程序改写这个地址的内容,结果程序运行后发现地址里的数据不是程序写入的数据,主要程序如下:
#include
#include  

#pragma location = 0x1000
const uchar   P_Word[6]={1,2,3,4,5,6};   

void main()
{   
  FCTL2=FWKEY +FSSEL_1+FN2;//+FN0+FN1+FN2+FN4              //Flash时钟设置,MCLK,4分频
  WDTCTL = WDTPW + WDTHOLD;       //关闭看门狗   
  keysel();                       //键盘设置
  _EINT();                        //使能全局中断
  LCD_Init();                     //LCD初始化
  TA_sel();                       //设置TA定时器
  SevePassword();
    while(1)
    {}

}


void SevePassword(void)
{
  _DINT();             //关闭中断
  double* Flash_data_ptr;
  unsigned int* Flash_int_ptr;
  Flash_data_ptr = (double*)0x1000; //intialize
  FCTL1 = FWKEY + ERASE; //允许擦出
  FCTL3 = FWKEY; //解锁
  *Flash_data_ptr = 0;//空写,启动擦除
  FCTL1 = FWKEY + WRT;//允许写


  *Flash_data_ptr++=0x04030201;   //重新写入的数据
  
  FCTL1 = FWKEY;
  FCTL3 = FWKEY + LOCK;
  _EINT();                        //使能全局中断
}




程序刚载入后用仿真器读取INFO地址内容如下:
0x1000  0x04030201
0x1004  0xFFFF0605
运行后仿真器观察INFO地址内容变成了:
0x1000  0x4C800640
0x1004  0xFFFFFFFF

按说程序执行以后应该是把数据变成:
0x1000  0x04030201
0x1004  0xFFFFFFFF

查了很多资料说Flash读写要注意频率控制在257KHz至476KHz之间,我用的G2开发板,默认用的是DCO时钟,仿真器读取DCO=3,rsel=7资料上说频率在0.8~1.5MHZ之间,这样的话Flash时钟源选MCLK,分频在2~6之间就可以,我从2到6分频全部试过了,结果还是老样子。不知道哪位高手也遇到这个问题给讲解一下,现行谢过了!!



最新回复

恭喜楼主找到问题的所在   详情 回复 发表于 2016-2-17 08:32
 
点赞 关注

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
找到问题了,这句:Flash_data_ptr = (double*)0x1000; //intialize
改成:Flash_data_ptr = (char*)0x1000; //intialize
就解决了
 
 

回复

12

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
恭喜楼主找到问题的所在
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表