头文件宏定义的小问题

[复制链接]
 楼主| jlyuan 发表于 2014-1-27 21:11 | 显示全部楼层 |阅读模式
本人初学MSP430 可能问题有些低级 不过真心求解答 CCSv5开发g2231
在msp430g2231.h中出现了如下宏
#define SELM0                  (0x40)         /* MCLK Source Select 0 */
#define SELM1                  (0x80)         /* MCLK Source Select 1 */

#define SELM_0                 (0x00)         /* MCLK Source Select 0: DCOCLK */
#define SELM_1                 (0x40)         /* MCLK Source Select 1: DCOCLK */
#define SELM_2                 (0x80)         /* MCLK Source Select 2: XT2CLK/LFXTCLK */
#define SELM_3                 (0xC0)         /* MCLK Source Select 3: LFXTCLK */
在选择MCLK时钟源时应该选择下面4个宏中的其中之一 但上面2个宏有什么作用呢?
yszong 发表于 2014-1-27 21:12 | 显示全部楼层
楼主可以看下宏定义的值,其实东西都是一样的。
午夜粪车 发表于 2014-1-27 21:14 | 显示全部楼层
之所以会有这样的定义,个人的猜测是下面4个是为了和User Guide符合,上面那个为了和以前版本兼容
spark周 发表于 2014-1-27 21:14 | 显示全部楼层
这不难理解,SELM0代表是BCSCTL2的第6位,SELM1是第7位。代表的是寄存器的第位,而下面的宏定义是代表写入BCSCTL2的值
 楼主| jlyuan 发表于 2014-1-27 21:16 | 显示全部楼层
spark周 发表于 2014-1-27 21:14
这不难理解,SELM0代表是BCSCTL2的第6位,SELM1是第7位。代表的是寄存器的第位,而下面的宏定义是代表写入B ...

这个怎么说
spark周 发表于 2014-1-27 21:17 | 显示全部楼层
比如要选择DCO为MCLK的时钟源,就直接对写为BCSCTL2=SELM_0。
wyjie 发表于 2014-1-27 21:19 | 显示全部楼层
SELM1    SELM0
SELM_0    0              0
SELM_1    0              1
SELM_2    1              0
SELM_3    1              1
zhenykun 发表于 2014-1-27 21:20 | 显示全部楼层
楼上正解
niuyaliang 发表于 2014-1-28 16:10 | 显示全部楼层
那个,同意楼上的楼上
dinghui28 发表于 2014-1-28 20:40 | 显示全部楼层
仔细看一下datasheet就知道了
caijie187 发表于 2014-1-28 21:54 | 显示全部楼层
看来楼主已经明白了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

880

主题

12030

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部