刚学习MSP430,以前学的DSP2812,知道里面的寄存器是如何通过标识符转换成地址的,但是MSP430的寄存器与具体地址对应的方式与2812的方式不同,问题出在这个文件,一直没搞懂这个文件里所写的每行代码的含义,难道是定义每个标识符的地址么?在网上也查不到相关的用法。求解。如果我用头文件的形式书写,那应该是什么样的格式。
比如这句话:WDTCTL = 0x015C;是否与#define WDTCTL (*(unsigned int *)(0x015C))是一个含义?
HG:
看工程里对应片子的宏定义啊
XIANGXIN CHEN:
回复 HG:
我注意过您说的问题。您给的截图中,宏定义里面也只是定义了 WDTCTL 为一个外部变量,并没有把WDTCTL变量指向地址空间0x150;如果我把cmd文件中的“WDTCTL = 0x015C;”这句话删掉,那么会有如下报错:
undefined first referenced symbol in file ——— —————- WDTCTL E:\CCS\ccsv6\tools\compiler\msp430_4.3.3\lib\rts430x_lc_rd_eabi.lib<autoinit.obj>
error #10234-D: unresolved symbols remain
也就是说cmd文件里“WDTCTL = 0x015C;”这句话是有作用的,我是没有找到相关语法说在cmd文件里这样的语句代表什么意思。我想知道cmd里这句话的含义。谢谢。
HG:
回复 XIANGXIN CHEN:
把你的cmd文件发来看看
cmd一般是link的时候用的,删掉了当然会报错啊
XIANGXIN CHEN:
回复 HG:
扩展名改成cmd即可。这个cmd文件是TI提供的官方例程里面的,并不是我从其他地方找来的。这个文件在link的时候被使用,我想知道里面这种书写方式代表了什么含义,或者说这里面运用了什么语法。我之前没见过,网上也找不到。