本帖最后由 涵潇舒雅 于 2013-10-22 10:06 编辑
void TX_i2c(uchar add,uchar cmd)
{
SEN=1;
while(SEN);
SSPBUF=add&0xfe;
while(R_nW);
if(ACKSTAT==1)
while(1); //如果没有收到应答就进入死循环
SSPBUF=cmd;
while(R_nW);
if(ACKSTAT==1)
while(1);
//如果没有收到应答就进入死循环
PEN=1;
while(PEN);
}
if(key2==0)//当按键的时候,向从机发送数据
{
while(!key2);
TX_i2c(0xb0,0x01);
hanzi(0,40,4,TX_DOWN); //如果发送成功,那么就在液晶上显示状态
}
有关从机的配置,这是从机中断函数。
我下载到板子进行调试,主机液晶上能够显示“发送成功”,说明通信正常,但是在从机方面,count_isr=3,但是write_flag始终是0,我本想把主机master_add显示出来,但是一直是0.说明SSPBUF里面根本没有数据
这是用proteus仿真出来的结果。通信很正常!!当我把从机断电之后,在发送数据,依然显示发送成功!!!!!!郁闷了 |