【宝马 NXP LPC1768试用体验】宏定义与GPIO操作

  • 宝马
  • lemonboard@sina
  • LV3工程师
  • |      2016-10-19 23:37:29
  • 浏览量 983
  • 回复:0
【宝马 NXP LPC1768试用体验】宏定义与GPIO操作在申请这块板子的时候就是玩一个寄存器的操作,而高级的方式去玩就要利用C语言的宏定义来实现了。这次介绍两个宏定义
#define SET_BIT(REG, BIT) (REG |= (0x01 << BIT))

#define CLEAR_REG(REG) (REG = 0)
第一个宏定义是对指定的寄存器位置位,第二个宏定义则是将寄存器清零处理。下面我们使用实例来验证这两个C语言里高级使用。
int main (void)

{

   uint8_t       a;

  LED_config();

  while(1)

  {

    for(a=0;a<8;a++)

    {

      CLEAR_REG(LPC_GPIO2->FIOPIN);

      SET_BIT(LPC_GPIO2->FIOPIN, a);

      Delay(300);

    } 

  }

}
这样,我们依然可以看到跑马灯的效果了。大家可以试试如何设计一个对寄存器指定位清零处理的宏定义?
  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子