单片机编程中此句 PWME |= (1<<0)什么意思!!
这句话是指将PWME寄存器的最低位(第0bit)置成1,我猜这句话可能是使能PWM0通道。
(1<<x)是指将1左移x位,(1<<0)是将1左移0位即还是1,(1<<5)=0b100000=0x20
另外,单片机中寄存器中给某一bit置上或清零常用下述方式:
由于0|1=1 1|1=1,所以将单片机某一bit置成1只需将该位或1即可。即如果要将寄存器的第x位置成1,则需将该寄存器的第x位或上1,用程序表示出来(以PWME寄存器的第x位举例)就是PWME = PWME | (1<<x),也可以写成PWME |= (1<<x)
同样的道理,如果要将某一bit清零,考虑 0&0=0 1&0=0,只需将某位与0即可。用程序表示(以PWME寄存器的第x位举例)就是PWME = PWME & (0<<x),PWME &= (0<<x)