AVR单片机程序中的DR=1<<RS|1<<PD是什么意思?(DR为寄存器,RS和PD为DR的两个位)

 我来答
尚云社
2012-09-09 · TA获得超过392个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:282万
展开全部
表示把DR寄存器中的RS和PD位置1,其余的位清零
追问
能讲解一下为何是这样的吗?
追答
打开一种AVR单片机的头文件,可以看到里面都有类似RS或则PD的宏定义,例如:
#define PD7 7
#define PD6 6
假设语句PORTD = 1 << PD7,那么编译器执行的就是将一个变量赋值1,再左移7次,就等于0x80,然后将这个值赋给PORTD。当然这些过程都是编译器完成的,最后生成的代码是直接将0x80赋给PORTD,这样的写法是为了方便程序的阅读,让人一看就知道当前语句的目的,不过这样的写法在不同的系统下移植性较差
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式