完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
关于这个_BV(i)指令的统一解释是:
#define _BV(bit) (1 << (bit)) _BV()是把1左移N位的函数。 _BV(7)相当于(1<<7) 本身和置位还是清零没有关系。不过这个函数,实际上却真的大多数应用于位的置位或清零。 比如: PORTA|=_BV(PA7) PORTB&=~_BV(PB6) PORTC^=_BV(PC5) 分别相当于: PORTA = PORTA | (1< PORTC = PORTC ^ (1< 下面举几个例子分析: 1、假如PORTB=0xFF PORTB = ~_BV(5); //执行BV(5),-BV=01000000,执行~运算符以后,PORTB=10111111 2、假如PORTD=0x00 PORTD^=_BV(PD7); //执行BV(PD7)后,-BV=10000000,则PORTD^_BV=00000000^10000000=10000000 |
|
|
|
只有小组成员才能发言,加入小组>>
2330 浏览 0 评论
855浏览 2评论
496浏览 1评论
1374浏览 0评论
261浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-25 16:17 , Processed in 1.208867 second(s), Total 79, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191