头文件宏定义

[复制链接]
 楼主| jlyuan 发表于 2016-9-16 18:07 | 显示全部楼层 |阅读模式
本人初学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 发表于 2016-9-16 18:15 | 显示全部楼层
楼主可以看下宏定义的值,其实东西都是一样的。
午夜粪车 发表于 2016-9-16 18:16 | 显示全部楼层
之所以会有这样的定义,个人的猜测是下面4个是为了和User Guide符合,上面那个为了和以前版本兼容
spark周 发表于 2016-9-16 18:18 | 显示全部楼层
这不难理解,SELM0代表是BCSCTL2的第6位,SELM1是第7位。代表的是寄存器的第位,而下面的宏定义是代表写入BCSCTL2的值
 楼主| jlyuan 发表于 2016-9-16 18:20 | 显示全部楼层
这个怎么说
spark周 发表于 2016-9-16 18:21 | 显示全部楼层
比如要选择DCO为MCLK的时钟源,就直接对写为BCSCTL2=SELM_0。
wyjie 发表于 2016-9-16 18:22 | 显示全部楼层
SELM1    SELM0
SELM_0    0              0
SELM_1    0              1
SELM_2    1              0
SELM_3    1              1
 楼主| jlyuan 发表于 2016-9-16 18:24 | 显示全部楼层
其实还是不大明白,我再琢磨琢磨吧,多谢了哈,结贴了先
豆腐块 发表于 2016-9-16 21:43 | 显示全部楼层
多读读手册和例程就明白了
i1mcu 发表于 2016-9-17 22:43 | 显示全部楼层
对应的宏定义去都一样的。
i1mcu 发表于 2016-9-17 22:45 | 显示全部楼层
可能是宏定义的习惯写法。
lefeng 发表于 2016-9-25 22:02 | 显示全部楼层
这两种表达方法是一个效果,楼主试试就知道了
baimiaocun2015 发表于 2016-9-25 22:17 | 显示全部楼层
这个都是根据pdf资料的进行定义的。
Snow7 发表于 2016-9-26 20:28 | 显示全部楼层
SELM0,SELM1控制两位,产生4种状态,SELM_0到SELM_3刚好
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

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

880

主题

12030

帖子

4

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