载入中...

新鲜老笔记欢迎你!
本站动态
    欢迎您的光临!
   本人一直在努力学习应用51、avr等单片机及电子\电源方面的技术。
技术交流群qq:30605882

 希望能你多多进行指导。
日志更新

载入中...
分类(专题)

载入中...
最新评论

载入中...
博客信息

载入中...

流量统计

第三方流量统计:
从2006年11月27日21:00开始




留言本签写留言                                                          工程师笔记  21IC-BBS  站长入口

winavr中有关位操作的宏
shunpu 发表于 2006-11-15 11:38:00

WINAVR的2006-01-25版本中
如果包含了sfr_defs.h头文件
 #i nclude <avr/sfr_defs.h>
可以使用以下宏:
宏:  _BV(bit)
作用:  bit位置位
等价C语句:  1 << bit

宏:  bit_is_set(sfr,bit)
作用:  返回char型的特殊寄存器sfr的bit位的值
         bit=1,返回非0值(T);bit=0,返回0(F)
等价C语句: _SFR_BYTE(sfr) & _BV(bit)

宏:  bit_is_clear(sfr,bit)
作用:  返回char型的特殊寄存器sfr的bit位的取反值
  bit=0,返回非0值(T);bit=1,返回0(F)
等价C语句: !(_SFR_BYTE(sfr) & _BV(bit))


宏:  loop_until_bit_is_set(sfr,bit)
作用:  执行循环体,直到特殊寄存器sfr的bit位置1
等价C语句: do { } while (bit_is_clear(sfr, bit))

宏:  loop_until_bit_is_clear(sfr,bit)
作用:  执行循环体,直到特殊寄存器sfr的bit位清零
等价C语句: do { } while (bit_is_set(sfr, bit))

如果包含了deprecated.h头文件(已经不推荐使用,可以参考后自己定义)
 #i nclude <compat/deprecated.h>
可以使用以下宏:
宏:  sbi(port,bit)
作用:  端口的bit位置1
等价C语句: port |= (1 << (bit))

宏:  cbi(port,bit)
作用:  端口的bit位清零
等价C语言: port &= ~(1 << (bit))


 


  • 标签:winavr avr 位操作 
  • 发表评论:
    载入中...

    >祝大家新年快乐,工作更上一层楼,但要注意休息哦......

    推荐文章

     
    站内搜索
    请您留言

    载入中...
    学习资源
     
             [我们的AVR]
             
    友情链接
     
     
     

     更多链接……>>>

    电源网
    电子工程专辑 平凡的单片机 可控硅应用技术 AVR与虚拟仪器 单片机爱好者 嵌入式开发网

      [说明]本博客主要用于个人学习与资料收藏。大多数资料都是来自网络,我转载时尽可能地表明文章出处与原作者姓名,但由于很多资料经多人转载,已不清楚原作者信息与出处,所以未表明相关信息还请见谅,如有侵权请告知,我及时处理。