求分析求解答

2019-07-22 13:17发布

在看例程的时候,有一个语句没看懂,求分析:
TACTL = TASSEL_1 + TACLR;


其中:
#define TASSEL_1               (1*0x100u)           /* Timer A clock source select: 1 - ACLK  */   
#define TACLR                  (0x0004)       /* Timer A counter clear */

虽然有注释,但是没看懂,为什么 (1*0x100u) + (0x0004)   得到的是什么东西?这两个可以相加的吗?谢谢解答!


TACTL寄存器配置如下
!111.png

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
dirtwillfly
1楼-- · 2019-07-22 16:43
这些都是宏定义
#define TASSEL_1               (1*0x100u)      //意思就是0000 0001 0000 0000,就是位9和8是01,选择了ACLK
dirtwillfly
2楼-- · 2019-07-22 21:24
同样
#define TACLR                  (0x0004)  //相当于0000 0000 0000 0100,二进制位2置1
火山LF
3楼-- · 2019-07-23 01:27
dirtwillfly 发表于 2016-6-24 16:25
这些都是宏定义
#define TASSEL_1               (1*0x100u)      //意思就是0000 0001 0000 0000,就是位9 ...

那15*0x1000u这个呢? 我脑袋有点转不过来
dirtwillfly
4楼-- · 2019-07-23 05:13
火山LF 发表于 2016-6-24 19:01
那15*0x1000u这个呢? 我脑袋有点转不过来

哪里有15*0x1000u?
超过8的都很少
火山LF
5楼-- · 2019-07-23 07:17
 精彩回答 2  元偷偷看……
dirtwillfly
6楼-- · 2019-07-23 12:06
火山LF 发表于 2016-6-25 08:56
小灰灰,下面是一个头文件的定义:
#define INCH_0                 (0*0x1000u)    /* Selects Channel  ...

还真没仔细看过这个。
你看看就知道了阿,定义的就是0001  0000 0000 0000这个32位数的高4位

一周热门 更多>