您的位置 首页 观点

AVR位操作记载

说实话,偶是头一次遇到这么用的,Mark。defineBIT(x)(1(x))defineGET_PORT(x,bit)(PORTx)defineGET_PIN(x,bit)(PINx)defi

说实话,偶是头一次遇到这么用的,Mark。

#defineBIT(x) (1<<(x))

#defineGET_PORT(x,bit) (PORT##x)

#defineGET_PIN(x,bit) (PIN##x)

#define GET_BIT(x,bit) (bit)

#definePORT_OUT0(portx_bit) (GET_PORT(portx_bit)&=~BIT(GET_BIT(portx_bit)))

#definePORT_OUT1(portx_bit) (GET_PORT(portx_bit)|=BIT(GET_BIT(portx_bit)))

#definePORT_IN(portx_bit) (GET_PIN(portx_bit)&BIT(GET_BIT(portx_bit)))

===================================
我自己写的,界说好这个后,只需再界说端口就好了,
比方
#defineKEY1 A,2
#defineLED_RED A,3

if(PORT_IN(KEY1))
{
PORT_OUT1(LED_RED);
}

ICCAVR编译出的代码已经是位操作了…读起来也很直观

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/news/guandian/262491.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部