本帖最后由 理工大小薛 于 2013-10-22 08:25 编辑
程序写成这样可否,不想用等待
i SSPCON2bits.SEN=1; if(PIR1bits.SSPIF)
{
switch(I2CIF)
{
case 0:
PIR1bits.SSPIF=0;
SSPBUF=0xA0;
I2CIF=1;break; //从机地址
case 1:
PIR1bits.SSPIF=0;
SSPBUF=0x00;
I2CIF=2; //通道选择
break;
case 2:
PIR1bits.SSPIF=0;
SSPBUF=128;
I2CIF=3; //数据1
break;
case 3:
PIR1bits.SSPIF=0;
SSPBUF=0x26; //数据2
SSPCON2bits.PEN=1;
I2CIF=4;
break;
case 4:
PIR1bits.SSPIF=0;
PORTCbits.RC1=0;
TRISCbits.TRISC1=0;
PORTCbits.RC1=1;
SSPCON2bits.SEN=1;
I2CIF=0;break;
default: break;
}
}
|