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