---端口操作与位操作---

[复制链接]
2709|4
 楼主| 想出国打工 发表于 2009-10-10 08:55 | 显示全部楼层 |阅读模式
#define BEEP_PORT PORTB
#define BEEP   (1<<0)         //这里可以直接写为#define BEEP   1
#define ON() {BEEP_PORT|=BEEP;}
#define OFF() {BEEP_PORT&=~BEEP;}


我对  #define BEEP   (1<<0)         这一句不太理解
高手能解释一下吗》?
zolo_jiang 发表于 2009-10-10 09:00 | 显示全部楼层
左移0位  不就是1么
 楼主| 想出国打工 发表于 2009-10-10 09:04 | 显示全部楼层
//管脚定义
#define EXT_INT0 2 //PD2 按键0
#define EXT_INT1 3 //PD3 按键1
#define EXT_INT2 2 //PB2 按键2

#define LED0 0 //PB0
#define LED1 1 //PB1
#define LED2 3 //PB3


//宏定义
#define LED0_ON() PORTB|= (1<<LED0) //输出高电平,灯亮
#define LED0_OFF() PORTB&=~(1<<LED0) //输出低电平,灯灭
#define LED1_ON() PORTB|= (1<<LED1)
#define LED1_OFF() PORTB&=~(1<<LED1)
#define LED2_ON() PORTB|= (1<<LED2)
#define LED2_OFF() PORTB&=~(1<<LED2)

这样看吧
無智 发表于 2009-10-10 09:08 | 显示全部楼层
hsw_21 发表于 2009-10-10 14:50 | 显示全部楼层
直接用 RB0,RB1,RB2…… 操作不也可以嘛,

lz这样做是不是为了移植方便? 但是开发起来有点累哦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

28

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部