读这一部分的程序这样子:
char READ (char addr)
{ char R;
SEN=1; //产生起始位
while (SEN==1); //检测起始位完成
IIC_SEND(0b11010000); //与从机的SSPADD要完全相同,才能正确通信
IIC_SEND(addr); //此值为内部地址,从0-0xFF可选
PEN=1; //发送停止位
while (PEN==0); //检查停止位结束
RSEN=1; //发送重新启始位
while(RSEN==1); //检测重新起始位完成
IIC_SEND(0b11010001); //读
SSPIF=0;
RCEN=1;
while (SSPIF==0); //等待读完成
R=SSPBUF;
PEN=1; //发送停止位
while (PEN==0); //检查停止位结束
return (R); }
主程序部分: .... while(1)
{ for(i=0;i<7;i++)
{ TEMP(k)=READ(k);
DELAY(100);}
[ 本帖最后由 温柔的绳索 于 2011-5-10 23:08 编辑 ]