找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3885|回复: 2
收起左侧

[求助]IIC读字节代码程序

[复制链接]
ID:40490 发表于 2012-7-18 17:10 | 显示全部楼层 |阅读模式
uchar read_byte() { uchar i,k; scl=0; delay(); sda=1; delay(); for(i=0;i<8;i++) { scl=1; delay(); k=(k<<1)|sda; scl=0; delay(); } return k; } sda 被拉为1了 K左移 结果K是不是全是FF 这有在读数据吗? 无法理解 求高手指点
回复

使用道具 举报

ID:27916 发表于 2012-7-19 08:55 | 显示全部楼层

SDA=1;应该是让SDA口做为输出吧,后面读取SDA的时候,就是SDA IO口的状态了,不会一直是1的

回复

使用道具 举报

ID:7485 发表于 2012-7-26 19:34 | 显示全部楼层

由于51单片机是准双向I/O,有读锁存器和读口线(引脚)之分,读口线之前必须先置I/O锁存器为1,读口线才能有正确结果。所以SDA=1是必须的。

 

这正是许多初学者不容易理解并容易出错的地方。而且出错的原因还不容易分析。

 

 

[此贴子已经被作者于2012-7-26 19:34:43编辑过]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表