MSP430寄存器的操作问题

2019-03-24 10:04发布

在看示例文档时经常看到类似的配置:CACTL1 = CARSEL + CAREF0 +CAON; // 0.25Vcc 连接到比较器的负端但是在寄存器说明时看到如下图所示,我一直很困惑的是CACTL1 = CARSEL + CAREF0 +CAON;这个语句把相关寄存器配置为何值?
为什么不是像其他的单片机直接配置为:CACTL1.CAON=1;或者CACTL1.CAON=0;这样



此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
huaiqiao
1楼-- · 2019-03-24 16:21
< 1. CACTL1 = CARSEL + CAREF0 +CAON,关于这个语句的写法,是不同于其他单片机的。CACTL1.CAON=1;或者CACTL1.CAON=0。因为CACTL1是16位的寄存器,这个地方我们一定要注意。还有关于您说的CARSEL , CAREF0 ,CAON,这几个寄存器的值,请您在鼠标光标到头文件的地方,点击右键有个选项“open xxxx.h”打开头文件,然后在头文件中,查找这几个寄存器的值;
2. CACTL1的值就是这几个寄存器的值(16进制)相加的结果,然后找到msp430 user‘s guide,找到对应的寄存器CACTL1,看看这个16位的寄存器中每个位的值;
3. 看完第2点后,每个位都对应着相应的功能,在CACTL1这个寄存器的下方都有说明。
如此一来,你就知道了是怎么回事了。
lcofjp
2楼-- · 2019-03-24 22:06
< :TI_MSP430_内容页_SA7 --> 我记得最新的头文件是可以这样操作的:(头文件好像叫io430.h)
CACTL1.CAON=1;或者CACTL1.CAON=0;

CACTL1 = CARSEL + CAREF0 +CAON; 这样操作比较直接,可以很多位一起操作。
wanyisq
3楼-- · 2019-03-24 22:50
 精彩回答 2  元偷偷看……
wanyisq
4楼-- · 2019-03-25 03:10
lcofjp 发表于 2015-7-3 10:31
我记得最新的头文件是可以这样操作的:(头文件好像叫io430.h)
CACTL1.CAON=1;或者CACTL1.CAON=0;

C ...

我看了,这个头文件还是不能这样操作。不过还是谢谢你
数码小叶
5楼-- · 2019-03-25 03:27
基本都差不多吧,看头文件和编译器了
exiao
6楼-- · 2019-03-25 07:31
 精彩回答 2  元偷偷看……

一周热门 更多>

相关问题

    相关文章