2777|2

1305

帖子

0

TA的资源

纯净的硅(高级)

楼主
 

FRDM-KW41Z I2C调试中遇到的设备地址问题 [复制链接]

       有幸拿到了FRDM-KW41Z板子,准备做智能时钟。结果后来发现KW41Z512的RTC竟然仅仅是个“计数器”,并没有年月日,时分秒,定时等寄存器。

       自己不是不能做,NXP的Demo程序也有一个RTC的例子。不过我还是喜欢有硬件的RTC。既然MCU上没有,那就加一个外置的好了。由于SPI已经被LCD占用,板上还有一个SPI 存储器AT45DB041E ,KW41Z512有I2C接口,板上还有个I2C接口的FXOS8700CQ加速度和地磁传感器,所以就选I2C接口的RTC了。由于以前用过PCF8563,比较熟悉,那就它了。结果问题就此出现。

       调试FXOS8700CQ 很顺利,毕竟有NXP的参考代码在那里。接上 PCF8563   RTC模块,结果发现没反应!!!不对啊,在我以前的项目中正常的啊,找来原来的单板和代码进行测试,没错一切正常,接回FRDM-KW41Z板子就是不行,代码反复看也没毛病啊。折腾了一两天之后实在没办法,把自己压箱底吃灰的示波器找出来,查I2C总线波形。(有逻辑分析仪就更好了)结果就此发现端倪。

地址怎么是0x44,不是0xA2。对比0x44和0xA2,0x44二进制是0100 0100, 0xA2二进制是1010 0010。看出什么东东没? 0xA2被左移了一位,所以,我先右移一位,这样,KW41Z512再左移一位后,地址就是对的了! 0xA2左移一位是 0101 0001,也就是0x051了。赶紧改代码,编译下载。OK!  RTC终于正常的读出来了。

后来仔细想想这个问题,并查看I2C总线规范,发现其实就是读写位在搞鬼,有些I2C器件地址是不包括读写位的,有些I2C器件地址是包括读写位的。在KW41Z512这里,自动加了读写位,所以地址就左移一位了。




.

此帖出自NXP MCU论坛

最新回复

这个应该是正统iic了吧,飞利浦出品  详情 回复 发表于 2017-7-24 23:24
点赞 关注
 

回复
举报

3416

帖子

0

TA的资源

纯净的硅(高级)

沙发
 
这个应该是正统iic了吧,飞利浦出品
此帖出自NXP MCU论坛

点评

是啊。PCF8563是飞利浦出的啊。不是freescale的嫡系,FXOS8700CQ是freescale的嫡系。  详情 回复 发表于 2017-7-24 23:43
 
个人签名

So TM what......?

 

 

回复

1305

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
ljj3166 发表于 2017-7-24 23:24
这个应该是正统iic了吧,飞利浦出品

是啊。PCF8563是飞利浦出的啊。不是freescale的嫡系,FXOS8700CQ是freescale的嫡系。
此帖出自NXP MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

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

 
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
快速回复 返回顶部 返回列表