打印

头文件宏定义的小问题

[复制链接]
1682|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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的值

使用特权

评论回复
5
jlyuan|  楼主 | 2014-1-27 21:16 | 只看该作者
spark周 发表于 2014-1-27 21:14
这不难理解,SELM0代表是BCSCTL2的第6位,SELM1是第7位。代表的是寄存器的第位,而下面的宏定义是代表写入B ...

这个怎么说

使用特权

评论回复
6
spark周| | 2014-1-27 21:17 | 只看该作者
比如要选择DCO为MCLK的时钟源,就直接对写为BCSCTL2=SELM_0。

使用特权

评论回复
7
wyjie| | 2014-1-27 21:19 | 只看该作者
SELM1    SELM0
SELM_0    0              0
SELM_1    0              1
SELM_2    1              0
SELM_3    1              1

使用特权

评论回复
8
zhenykun| | 2014-1-27 21:20 | 只看该作者
楼上正解

使用特权

评论回复
9
niuyaliang| | 2014-1-28 16:10 | 只看该作者
那个,同意楼上的楼上

使用特权

评论回复
10
dinghui28| | 2014-1-28 20:40 | 只看该作者
仔细看一下datasheet就知道了

使用特权

评论回复
11
caijie187| | 2014-1-28 21:54 | 只看该作者
看来楼主已经明白了

使用特权

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

本版积分规则

880

主题

12030

帖子

4

粉丝