只需一步,快速开始
热门: 51单片机 | 24小时必答区 | 单片机教程 | 单片机DIY制作 | STM32 | Cortex M3 | 模数电子 | 电子DIY制作 | 音响/功放 | 拆机乐园 | Arduino | 嵌入式OS | 程序设计
刚学AVR C
请问 AVR的C中 PORTD |= (1 << PD5) 是怎么理解的,多谢!
使用道具 举报
PORTD的第5位置1,其他位不变
在iom16v.h中有define PD5 5的定义;
PORTD |= (1 << PD5)语句,首先执行括号内的程序 (1 << PD5),即将0000 0001数字向左循环5个位,最低位补零,即变成0010 0000
将0010 0000 该数与PORTD进行与操作,因为AVR上电后PORTX=0x00,所以相与后,PORTD就变成了0x20;
mxlslf 发表于 2013-3-2 09:30 在iom16v.h中有define PD5 5的定义;PORTD |= (1 << PD5)语句,首先执行括号内的程序 (1 << PD5), ...
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|51黑电子论坛 | 管理员QQ:125739409;技术交流QQ群281945664
Powered by 单片机教程网