本帖最后由 涵潇舒雅 于 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仿真出来的结果。通信很正常!!当我把从机断电之后,在发送数据,依然显示发送成功!!!!!!郁闷了
|