[AVR单片机] AVR新手关于io取反的操作

[复制链接]
3368|3
 楼主| zhaohualiang 发表于 2011-9-8 14:10 | 显示全部楼层 |阅读模式
#include <avr/io.h>
#include <util/delay.h>

#define SET_1(a,b) a|=(1<<b)
#define CLE_0(a,b) a&=~(a<<b)

int main(void)
     {
     SET_1(DDRD,5);
     while(1)
         {
          CLE_0(PORTD,5);
          _delay_ms(100);
          SET_1(PORTD,5);
          _delay_ms(100);
         }
      }
这样在atmega64上运行led不闪烁,把
CLE_0(PORTD,5);
改成
PORTD=0XCF&PORTD;
这样会不停的闪烁。
不解,请赐教。
john_lee 发表于 2011-9-8 15:24 | 显示全部楼层
有错误:
  1. #define CLE_0(a,b) a&=~(a<<b)
改成:
  1. #define CLE_0(a,b) a&=~(1<<b)
 楼主| zhaohualiang 发表于 2011-9-8 17:03 | 显示全部楼层
太粗心了,多谢
dream-realize 发表于 2011-9-8 17:04 | 显示全部楼层
zzzzzzzzzzzzzzzzz
您需要登录后才可以回帖 登录 | 注册

本版积分规则

52

主题

219

帖子

1

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