OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5317|回复: 4

I2C总线问题(读一个字节)

[复制链接]

12

主题

25

帖子

0

精华

初级会员

Rank: 2

积分
93
金钱
93
注册时间
2013-8-19
在线时间
0 小时
发表于 2013-8-24 21:25:04 | 显示全部楼层 |阅读模式
I2C总线中是如何实现读一个字节的?
例如mcu要从某器件中读一个字节 
如下一段程序
uchar readbyte()
{
    uchar i,k;
    scl=0;
    delay();
    sda=1;
    for(i=0;i<8;i++)
{    
    scl=1;
    delay();
    k=(k<<1)|sda;
    scl=0;
    delay();
  }
   delay();
   return k;
 }














}





}
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

54

主题

1008

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2382
金钱
2382
注册时间
2012-11-22
在线时间
403 小时
发表于 2013-8-24 21:32:21 | 显示全部楼层
sda上的数据一位一位读
态度决定一切
回复 支持 反对

使用道具 举报

9

主题

92

帖子

0

精华

初级会员

Rank: 2

积分
148
金钱
148
注册时间
2013-3-22
在线时间
0 小时
发表于 2013-8-24 22:51:58 | 显示全部楼层
回复【楼主位】abcyyjjkk:
---------------------------------
回复【楼主位】abcyyjjkk:
-------------------------------
首先I2C是连续的通信模式,没有直接限制,有起始时序,终止时序,然后就是不停地接收数据,  开始----for8次---终止   这就是接受了一个字节的数据
回复 支持 反对

使用道具 举报

1

主题

4

帖子

0

精华

新手入门

积分
40
金钱
40
注册时间
2013-9-12
在线时间
5 小时
发表于 2013-9-12 22:26:36 | 显示全部楼层
sda高电平打开I2C,scl一次低电平就传输一个字节。
回复 支持 反对

使用道具 举报

3

主题

222

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
355
金钱
355
注册时间
2012-8-13
在线时间
32 小时
发表于 2013-9-12 22:57:47 | 显示全部楼层
对不同的设备读一字节的方法不一定相同的,要看具体的手册
个人小店,弄了些大人玩具,希望各位老小玩童们喜欢。 http://autocute.taobao.com/
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-11-25 20:59

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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