头文件宏定义

[复制链接]
537|14
手机看帖
扫描二维码
随时随地手机跟帖
jlyuan|  楼主 | 2018-12-6 20:18 | 显示全部楼层 |阅读模式
本人初学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| | 2018-12-6 20:18 | 显示全部楼层
楼主可以看下宏定义的值,其实东西都是一样的。

使用特权

评论回复
午夜粪车| | 2018-12-6 20:20 | 显示全部楼层
之所以会有这样的定义,个人的猜测是下面4个是为了和User Guide符合,上面那个为了和以前版本兼容

使用特权

评论回复
spark周| | 2018-12-6 20:23 | 显示全部楼层
这不难理解,SELM0代表是BCSCTL2的第6位,SELM1是第7位。代表的是寄存器的第位,而下面的宏定义是代表写入BCSCTL2的值

使用特权

评论回复
jlyuan|  楼主 | 2018-12-7 10:57 | 显示全部楼层
这个怎么说

使用特权

评论回复
spark周| | 2018-12-7 11:01 | 显示全部楼层
比如要选择DCO为MCLK的时钟源,就直接对写为BCSCTL2=SELM_0。

使用特权

评论回复
wyjie| | 2018-12-7 11:05 | 显示全部楼层
SELM1    SELM0
SELM_0    0              0
SELM_1    0              1
SELM_2    1              0
SELM_3    1              1

使用特权

评论回复
chuxh| | 2018-12-7 11:08 | 显示全部楼层
多读读手册和例程就明白了

使用特权

评论回复
wuhany| | 2018-12-7 11:11 | 显示全部楼层
对应的宏定义去都一样的。

使用特权

评论回复
shimx| | 2018-12-7 11:14 | 显示全部楼层
可能是宏定义的习惯写法。

使用特权

评论回复
spark周| | 2018-12-7 11:18 | 显示全部楼层
这两种表达方法是一个效果,楼主试试就知道了

使用特权

评论回复
liliang9554| | 2018-12-7 11:22 | 显示全部楼层
这个都是根据pdf资料的进行定义的。

使用特权

评论回复
zhaoxqi| | 2018-12-7 11:26 | 显示全部楼层
SELM0,SELM1控制两位,产生4种状态,SELM_0到SELM_3刚好

使用特权

评论回复
jlyuan|  楼主 | 2018-12-7 11:28 | 显示全部楼层

好的,我明天去单位试一下,多谢各位大侠了哈,结贴了先        

使用特权

评论回复
ayb_ice| | 2018-12-7 11:51 | 显示全部楼层
REGx = SELM_0;

使用特权

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

本版积分规则

880

主题

12030

帖子

4

粉丝