void main()
{
init()
while(1) {
AD()
P1 = ~AD_DATA[1]
ES=1//允许串口中断--允许它中断,却没有它的处理函数!
SBUF=AD_DATA[1]
while(!TI) //--等待TI=1,但是,一旦TI=1,程序就跑飞了
TI=0
ES=0
}
}
把:ES=1 //允许串口中断
删除试试。
你这个是iic的时序图你要明白数据是如何沟通的。。。大部分通讯都分为主机和从机。
主机控制电压的高低来发送数据,从机通过侦测电压的高低来接受数据
至于电压何时高何时低,那就是通讯协议的构成了。
你上图sda用来发送数据,scl用来作为判断数据的时间轴。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)