单片机编程中此句 PWME |= (1<<0)什么意思,求详细解释!!!
5个回答
展开全部
意思是:PWME这个寄存器的第0位置1。
(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)
扩展资料:
注意事项
置位就是把该位置1,清零就是把该位置0,硬件自动清零就是当某种条件成立,硬件会自动把该位清零。
比如定时计数器工作时,当定时时间到了,定时中断请求标志位硬件自动置位,当cpu响应了中断以后就会自动把该位清零。
所谓的软件清零,就是要在程序中,通过指令把该位清零。写1清零应该是某些单片机特有的,比如AVR单片机,要把某个寄存器清零,先写1-既是输入高电平,这样可以使内部的一个三极管导通接地,电容放电,进行清零。
这都是对某些特殊的寄存器,比如中断标志位等,需要这样操作。对于一般的寄存器比如PORTA口等,置位就是写1,清零就是写0。
展开全部
意思是:PWME这个寄存器的第0位置1
嘿嘿 希望能帮到你
嘿嘿 希望能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把1,左移0次,再““或””到PWME中。
实际上,就是在PWME的最低位置一。
C语言,就是故弄玄虚,垃圾太多。
实际上,就是在PWME的最低位置一。
C语言,就是故弄玄虚,垃圾太多。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这句话是指将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 & (1<<x),也可以写成PWME &= (1<<x)
(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 & (1<<x),也可以写成PWME &= (1<<x)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
PWME = PWME | (1<<0)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询