gurong60 发表于 2013-10-23 11:07 
建议先卸载这个仿真软件,你这个问题是你没有仔细看手册,手册说的很清楚,要判断中断标志位,且需要软件清 ... - void write_iic(uchar add,uchar p)
- {
- uchar i;
- SSPIF=0;
- SEN=1;
- while(!SSPIF);
- SSPIF=0;
- SSPBUF=add&0xfe;//add是从机的地址
- while(!SSPIF);
- SSPIF=0; //等待ACK
- SSPBUF=p;
- while(!SSPIF);
- SSPIF=0;
- PEN=1;
- while(!SSPIF);
- SSPIF=0;
- }
这个样子行吗? 我看你的帖子就是那样写的我才试了试,不管有没有收到应答,第9个脉冲的时候,总会把SSPIF置位!?
|