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
页: 1 [2]
查看完整版本: [转贴]gcc经验点滴(二)---鱼,熊掌.AVR的两种位操作的比较(wjc3k发于21ic)(位域与C位操