编绎错误求助

2019-03-24 21:07发布

以下是我写的IIC总线的写字节子程序,但是编绎错误,显示如下 !E D:AVR文件PCF85918591.c(65): unrecognized statement
!E D:AVR文件PCF85918591.c(66): syntax error; found `(' expecting `;'
  #define uchar unsigned char #define sda PORTB|=BIT(4);
#define scl PORTB|=BIT(3);
#define clr_sda PORTB&=~BIT(4);
#define clr_scl PORTB&=~BIT(3);

 
void write_byte(uchar temp)
{
 uchar i;
 for(i=0;i<8;i++)
 {  
  if(temp&0x80)
      sda;
   else
     clr_sda;
  scl;
  delay(5);  
  temp<<=1; 
  clr_scl;
  delay(5);
 }
}   当我把sda与clr_sda分别用定义的 PORTB|=BIT(4);
PORTB&=~BIT(4);
代替时,错误就没有了。我想问的是,难道定义的sda,clr_sda不对吗?
我是参考的别人的程序才这样定义的。   [ 本帖最后由 hz_university 于 2011-7-7 17:45 编辑 ] 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
2条回答
hz_university
2019-03-25 10:59
感谢你非常详细的解答,真的太感谢了。谢谢好心人,你是个高手

一周热门 更多>