以下是我写的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 编辑 ]
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>