msp430的常量可以这样定义

一直用430的信息区记录需要保存的信息,但是一直苦于信息最初怎么先写进去。

刚开始的时候,完全使用写flash操作把要写的数据写进去,所以那时很傻。

后来想到了用汇编可以直接定义,于是用了一阶段。就像下边。

ORG 0x1000

DB 0x89

DW 0x0065

DB 9

DW 500

DF 1.0

END

把以上保存为*.asm文件,然后加入工程就好了,这样IDE编译的时候就可以直接在信息区写入数据了。

 

不过我终于发现了更好的,上边这种方法有个最大的缺点就是,读数据还得利用地址来读,所以很麻烦。

只需定义如下

const unsigned char A@0x1000 = 89;

const unsigned int B@0x1002 = 500;

const float C@0x1004 = 1.0;

cost double D@0x1008 = 5.0;

那么编译器直接就会把变量写到信息区,而且那个变量的名字还可以直接拿来用,

比如我要赋值给别的变量只需

unsigned char t =0;

t=A;

哈哈,简直太方便了,

而且写信息的时候也只需

unsigned char *p;

p =  (unsigned char *)(&A);

*p = t;

就好了,不过别忘了在这之前得擦除相应区域,和打开flash写允许。

转载于:https://www.cnblogs.com/wanqian/archive/2013/05/20/3088530.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值