第1个回答 2012-11-05
这是数字电路里最简单的概念啊。|和&就是或和与。
或的意思就是相加
0+0=0,0+1=1,1+0=1,1+1=1
也就是说一个数不管是多少,如果或1就是1.例如:x |= 1<<2; x的值为0x1100 0001那么结果就是0x1100 0101.因为1<<2就是0x0000 0100。原来是1或者0和0或还是不变。原来不管是1还是0和1或都是1.所以结果就是0x1100 0101。
与的意思就是相乘
0*0=0,0*1=0,1*0=0,1*1=1
if(TIM3->SR&0X0001)的意思就是前面的位不管,因为不管是多少乘以0还是0,这句话的意思是判断TIM3->SR最低位到底是1还是0,如果是0那么这个条件里的值就是0.如果是1就是1,条件为真。
建议还是从C基础学起。