早教吧作业答案频道 -->其他-->
#define setRegBit(reg,bit) (reg |= reg##_##bit##_##MASK) setRegBit(reg,bit)中并没有给出MASK值,该语句怎么执行呢?
题目详情
#define setRegBit(reg,bit) (reg |= reg##_##bit##_##MASK)
setRegBit(reg,bit)中并没有给出MASK值,该语句怎么执行呢?
setRegBit(reg,bit)中并没有给出MASK值,该语句怎么执行呢?
▼优质解答
答案和解析
这个宏的操作是说:
用一个已知的宏给寄存器置位
##在宏里面仅起到连接的作用,给你举个例子
#define setRegBit(reg,bit) (reg |= reg##_##bit##_##MASK)
这是你定义的宏
肯定会有其他已知的宏,参考这个部分reg##_##bit##_##MASK
你在代码中找找,看有没有类似于
TIME_10_MASK 对应于reg##_##bit##_##MASK
reg是一个寄存器的名字,视你代码中的寄存器而定
bit是第几位
MASK 就是掩码的意思
比如我举的例子TIME_10_MASK 它应该是事先定义好的值
经过setRegBit 这个操作之后,reg就或上了一个掩码的值
用一个已知的宏给寄存器置位
##在宏里面仅起到连接的作用,给你举个例子
#define setRegBit(reg,bit) (reg |= reg##_##bit##_##MASK)
这是你定义的宏
肯定会有其他已知的宏,参考这个部分reg##_##bit##_##MASK
你在代码中找找,看有没有类似于
TIME_10_MASK 对应于reg##_##bit##_##MASK
reg是一个寄存器的名字,视你代码中的寄存器而定
bit是第几位
MASK 就是掩码的意思
比如我举的例子TIME_10_MASK 它应该是事先定义好的值
经过setRegBit 这个操作之后,reg就或上了一个掩码的值
看了 #define setReg...的网友还看了以下:
如图,直线a垂直直线b,试作线段MN分别关于a、b成轴对称的线段M’N’和M”N”,并说如图,直线 2020-04-26 …
如果角α的终边经过点M(1,√3)试写出角α的集合A,并求集合A中最大负角和绝对值最小的角如果角α 2020-06-02 …
有难度M{A,B,C}==(A+B+C)/3m{A,B,C}=A(A为三数中最小的一个)则若M{A 2020-06-13 …
找规律,并填写完整找出下列字母列的规律,并把它填写完整J,F,M,A,M,J,J,A,(),(), 2020-06-17 …
已知集合A={x|x=3n+1,n∈Z},B={x|x=3n+2,n∈Z},M={x|x=6n+3 2020-07-21 …
设集合M={a,b},N={c,d},定义M与N的一个运算“•”为:M•N={x|x=mn,m∈M 2020-07-30 …
难于跑1000米.来看看哦M{a,b,c}N{1,0,-1}1求从M到N的映射个数,并一一列举2求 2020-07-30 …
高一数学设A={x/x2+4x=0},B={x/x2+2(a+1)x+a2-1=0(1)若A交B, 2020-08-02 …
几个高一集合题集合M包含于集合{1,2,3,4,5}且如果a属于M,则6-a属于M,这样的非空集合M 2020-12-07 …
1.若P(a,b)、Q(c,d)都在直线y=mx+k上,则PQ的绝对值用a、c、m表示为().A.( 2020-12-31 …