单片机编程中此句 PWME |= (1<<0)什么意思,求详细解释!!!

 我来答
大野瘦子
高粉答主

2019-10-13 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1227
采纳率:100%
帮助的人:34.3万
展开全部

意思是: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。

俊俏还清脆丶奇异果1
2011-08-21 · 超过10用户采纳过TA的回答
知道答主
回答量:19
采纳率:0%
帮助的人:30.5万
展开全部
意思是:PWME这个寄存器的第0位置1
嘿嘿 希望能帮到你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2011-08-21 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
把1,左移0次,再““或””到PWME中。
实际上,就是在PWME的最低位置一。
C语言,就是故弄玄虚,垃圾太多。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友8301212
推荐于2017-12-16 · TA获得超过581个赞
知道小有建树答主
回答量:88
采纳率:0%
帮助的人:81.5万
展开全部
这句话是指将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)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友baf09b6
2011-08-21 · TA获得超过107个赞
知道答主
回答量:125
采纳率:0%
帮助的人:31.3万
展开全部
PWME = PWME | (1<<0)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式