打印
[技术问题解答]

技术求助,在KL16 I2C master 读取slave寄存器16位值

[复制链接]
1497|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
UES123|  楼主 | 2014-12-18 20:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 UES123 于 2014-12-18 20:40 编辑

在项目中,适用KL16作为主机 去读取从机的一个寄存器的16位的值。按照网上找的步骤:

I2C_START
1、write(slaveadd  & write)
2、write (reg & write)
3、restart
4、write (slaveadd | read)
5、read dummy
6、read data_h
7、 I2C_STOP
8、read data_l

但是我读出来的数据完全不对,按照这个流程,我至少应该有3个字节的波形,但是我示波器看的却只有2个字节,而且第一个全0,第二个全1,读取出来就成了 0xFF,明显与我的预期不符。

请大侠们帮忙解答一下,I2C 读取寄存器的16位或者多字节的流程是怎样的?谢谢!!!

相关帖子

沙发
UES123|  楼主 | 2014-12-19 09:11 | 只看该作者
求大侠帮忙解惑

使用特权

评论回复
板凳
FSL_TICS_Robin| | 2014-12-19 11:15 | 只看该作者
楼主你好
建议你按照参考手册KL16P80M48SF4RM的“36.5 Initialization/application information”章节流程来编程序。
请参此流程:

使用特权

评论回复
地板
UES123|  楼主 | 2014-12-19 14:46 | 只看该作者
FSL_TICS_Robin 发表于 2014-12-19 11:15
楼主你好
建议你按照参考手册KL16P80M48SF4RM的“36.5 Initialization/application information”章节流程 ...

OK,我先试试,感谢感谢!

使用特权

评论回复
5
UES123|  楼主 | 2014-12-22 10:47 | 只看该作者
非常感谢,按照那个流程已经调试完毕!

使用特权

评论回复
6
ctfsoft| | 2014-12-22 15:49 | 只看该作者
我也遇到16数据读写的问题,能把16位数据读写的代码贴出来吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

11

帖子

0

粉丝