载入中...





站长个人入口

载入中...


公告
载入中...


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


日志更新
载入中...


最新评论
载入中...


留言板
载入中...


链接

学习AVR单片机(二)
电子伙伴 发表于 2006-5-13 16:29:00

     今天开始写了一个IO口的读写程序,又看了一下编译结果发现没有按GCC的优化写法,你的代码编译后会差别很大



#i nclude <avr/io.h>

#define RXD0 0
#define TXD1 1
#define TXD0 2
#define RXD1 3
void AvrInit(void)
{
 DDRB=(1<<TXD0)|(1<<TXD1);       //设定PB1和PB2为输出
 PORTB=0xf9;
}
int main(void)
{
 AvrInit();
 while(1)
 {
  if(!(PINB&(1<<RXD0)))
  {
   PINB&=~(1<<TXD1);
   while(!(PINB&(1<<RXD0)));
   PINB|=1<<TXD1;
  }
  if((PINB&(1<<RXD1))==0)
  {
   PINB&=~(1<<TXD0);
   while(!(PINB&(1<<RXD1)));
   PINB|=1<<TXD0;
  }
 }
}

  if((PINB&(1<<RXD1))==0)比if(!(PINB&(1<<RXD1)) 多10个字节的代码


 


阅读全文 | 回复(0) | 引用通告 | 编辑
 


发表评论:
载入中...