No.29079 作者:koji 邮件:deungxu0740@sina.com ID:44787 登陆:9次 文章数:5篇 最后登陆IP:116.24.163.55 最后登陆:2009/7/19 21:47:58 注册:2005/12/20 14:03:47 财富:131 发帖时间:2008/2/22 10:31:45 发贴者IP:121.34.198.187 标题:koji:IIC通讯协议发送和接收字节问题![求助] 摘要:No.29079IIC通讯协议发送和接收字节问题![求助] 单片机I/O口模拟IIC数据发送和接收字节的程序: //-------------------------------------------------------------------------------------------------- // 函数名称: IICSendByte // 入口参数: ch // 函数功能: 发送一个字节 //-------------------------------------------------------------------------------------------------- void IICSendByte(unsigned char ch) { unsigned char idata n=8; // 向SDA上发送一位数据字节,共八位 while(n--) { if((ch&0x80) == 0x80) // 若要发送的数据最高位为1则发送位1 { SDA = 1; // 传送位1 SCL = 1; delayNOP(); SDA = 0; //这个地方为什么要让SCL从1到0啊?,不是说SCL在低电平才能改变数据吗? SCL = 0; } else { SDA = 0; // 否则传送位0 SCL = 1; delayNOP(); SCL = 0; } ......
>>返回讨论的主题
|