lv998127
发表于 2009-10-31 08:26:26
好帖
yinglively
发表于 2009-10-31 22:26:01
好东西
Mark
Dream_catcher
发表于 2009-11-1 13:38:28
good,mark
liubinkaixin
发表于 2009-12-6 17:29:20
人好东西也好,顶!!!
fy024
发表于 2009-12-6 19:19:58
mark
anning
发表于 2009-12-7 12:48:27
mark!
kangkang
发表于 2009-12-8 10:39:07
顶一下!
tear086
发表于 2009-12-22 13:26:06
mark
lengmo
发表于 2010-1-6 00:09:36
顶一下!
haso2007
发表于 2010-1-6 09:13:32
【16楼】 alexant
注意GET_BITFIELD(&address).bit##b中的address前面的取址符"&",这是唯一与楼主所讲的不一样的地方,大家可以该该再看看
下面是if(dat&0x80)nRF905_MOSI=1;else nRF905_MOSI=0;的汇编代码:
_______________________________________________________________
着实代码效率也很高,是不是lz的定义不够好呢?
yx0315
发表于 2010-2-4 01:19:02
cvavr里面直接对位操作是何故?
wcw19781009
发表于 2010-2-17 18:07:57
方法挺多啊,挺好,以前我也一直被bit运算所困惑,不过现在我不了,我觉得我现在用的方法也很好,如下,大家可以看看。
在IAR 4.2 下 包含 iom16.h 库后,其实大家就能用位运算了。 规则如下 : sfr名称.BitN
例如 PORTB2 作为输出: 设置后 DDRB 后 可以这样写 PORTB.Bit2=1;或 PORTB.Bit2=0; 注意大小写
如果要将端口作为输入: 设置后 DDRB 后 可以这样写 N=PINB.Bit2;或 N=PINB.Bit2; 注意大小写
所以我们以后再也不怕位运算了,也无需去自己定义那个结构体和共用体了,方便吧?希望大家支持
yutianyiren
发表于 2010-3-2 08:25:20
不错不错,都是好方法
wukaka
发表于 2010-5-21 14:41:37
俺喜欢楼主的这个方法:
2、位移宏方式。主要有三个.
#define Set_Bit(val, bitn) (val |=(1<<(bitn)))
#define Clr_Bit(val, bitn) (val&=~(1<<(bitn)))
#define Get_Bit(val, bitn) (val &(1<<(bitn)) )
顶你
sxcrgm
发表于 2010-5-22 21:06:47
很有学术性质啊
cain.lee
发表于 2010-5-22 21:38:54
这个位移是我开始接触avr的时候兴起的··还要多多注意用法···
xyang18
发表于 2010-5-22 22:59:22
好好学习中
xingyu
发表于 2010-5-22 23:08:47
大大大ddddddddd
sunpei0337115
发表于 2010-5-29 21:53:31
好好学习了
_Fourier
发表于 2010-9-7 15:03:32
MARK
xtaens
发表于 2010-9-30 21:22:18
mark
boafly
发表于 2010-11-13 23:58:23
mark
wpnx
发表于 2010-12-13 00:14:09
mark
fzkqi
发表于 2010-12-13 09:03:16
mark
wayhe
发表于 2010-12-13 12:59:32
好贴,标记一下。
wuyiduan
发表于 2011-3-24 10:07:20
MARK
le_xin_chen
发表于 2011-7-6 17:58:41
谢谢分享!
guiyang
发表于 2011-11-19 18:54:34
顶一下
wwq123030627
发表于 2011-11-19 20:35:27
好贴
170775309
发表于 2011-12-9 14:36:56
有空的话,大家可以看看。是好贴
zhuht668
发表于 2012-2-24 10:45:03
不错
haphard
发表于 2012-2-24 11:03:50
好
dory_m
发表于 2012-3-30 12:32:16
{:shutup:}{:shutup:}{:shutup:}{:shutup:}{:shutup:}
chengtina
发表于 2012-3-30 13:17:51
我一直用位域,看来应该改为宏的方式
naiqiqnus
发表于 2012-7-21 21:47:48
分享一下我的方法
http://www.amobbs.com/thread-5485656-1-1.html
爱则倾心
发表于 2012-7-24 16:56:18
学习了{:smile:}
Excellence
发表于 2012-10-26 15:12:23
刘明马克。
120542121
发表于 2014-10-14 18:30:14
顶啊,要快速不断地顶!!!
iyctj4
发表于 2015-1-5 12:31:14
好东西,留着有用
runapp
发表于 2015-10-8 23:11:54
这真堪称是avr的位操作终结贴!果断mark