只需一步,快速開始
熱門: 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 單片機教程網