7527|7

77

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

I2C的从地址问题 [复制链接]

我用的是F4152的单片机
我的I2C器件的从地址是0xa0,
把0xa0写到 UCB0I2CSA 寄存器里了
在发送从地址后I2C器件就是接收不到。
后来用示波器看了波形之后,发现发送的从地址不是0xa0.
是00100000,第八位就是发不出来
为什么啊?

最新回复

你将你的I2C地址(比如7位模式),放入从地址寄存器的bit6~bit0,即将你的I2C地址右移一位  详情 回复 发表于 2010-5-13 20:28
 
点赞 关注

回复
举报

77

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
地址就7位跟10位的吧?好像没8位的
 
 

回复

70

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
分10位地址模式和7位地址模式的~你是不是选了7位地址模式呢?
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(初级)

4
 

就是7位啊

就是选了7位的地址啊!最后一位是读写位啊!
举个例子吧!
我的I2C器件的地址是0xA0,在调试的时候写到 UCB0I2CSA 寄存器的数据却是要0x50,这个我已经调试成功了,
可是现在我的I2C器件的地址是0x60,我就不知道写到 UCB0I2CSA 寄存器的数据应该是多少了?
哪位大侠指点一下啊!





引用:

分10位地址模式和7位地址模式的~你是不是选了7位地址模式呢?
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

5
 

呜呜

我的问题还没解决啊!找不到原因。
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

6
 
我也遇到同样的问题,我的七位从机地址是0001101,是将UCB0I2CSA 寄存器的数据写入0x0D还是0x1A呢?就是说七位地址如果加一位写位就是00011010即0x1A,还是直接写0x0D有点搞不明白,请高手指点
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

7
 
LS,应该写0x0D
Sl××eAdd + R/W == 8 bits
0001101 1/0

Sl××eAdd 是写到UCB0I2CSA中的, R/W 是由UCTR位控制的。

5L,0xA0指的是包括读写位了吧,那么你应该把这个数右移一位,剔除掉读写位,然后写到UCBI2CSA中,及0x50 , 如果是0x60那就往寄存器中写0x30。我感觉你指的从机地址是包括读写位的了,而非从机真正的地址!
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

8
 
你将你的I2C地址(比如7位模式),放入从地址寄存器的bit6~bit0,即将你的I2C地址右移一位
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表