查看: 2899|回复: 3

[已解决] NXP KE15Z IIC主机模式读从机地址数据

[复制链接]

该用户从未签到

28

主题

108

帖子

1

高级会员

Rank: 4

积分
523
最后登录
2020-9-7
发表于 2018-5-11 15:59:23 | 显示全部楼层 |阅读模式
各位好:

          目前我用MKE15Z256 单片机调试IIC模块,从机为时钟芯片ISL1208.

          过程:单片机设置为主机模式,对时钟芯片进行写的时候,没有问题,在示波器上观察到的SDA和SCL的波形,和程序是一致的,并且应答也是准确的。

         问题:当要把上述写进时钟芯片的时间读出来时,没办法正常实现。对于寄存器LPI2C1->MTDR的使用还不是很明确。读的过程:

                  1.发送读指令给从机时,没有问题。发送完成后,SDA和SCL同样置低,总线交给从机。

                  2.准备读一个字节数据,当设LPI2C1->MTDR=0x100时,在SDA信号上观察到9位数据,前8位数据与写入数据是一样的,可此时却没有应答。因此,SDA信号又被置高,导致读数NG。




                  请问有人对于这款单片机IIC读数据时了解吗?有代码吗?麻烦帮忙解决问题,谢谢。

最佳答案

在士林的晴天 发表于 2018-5-16 16:49 谢谢你的回复,你的建议我已经看过了。附件是我的程序及其波形,里面我有注明我的疑问,麻烦您帮忙看一下 ... 你MTDR发0x106请求接收7个数据,但是IIC_ReceiveData却只读了一次 ...
回复

使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2018-5-14 10:53:52 | 显示全部楼层
    建议楼主下载SDK_2.3.1_MKE15Z256xxx7并参考其目录下的lpi2c例程. SDK_2.3.1_MKE15Z256xxx7.png
    比如...\SDK_2.3.1_MKE15Z256xxx7\boards\frdmke15z\driver_examples\lpi2c\read_accel_value_transfer就示例了KE15作为主机与FRDM-KE15Z开发板上的I2C从器件通信。 Read Regs.png


    关于ISL1208的读操作序列参考其手册就可以了
    Read Operation.png
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    28

    主题

    108

    帖子

    1

    高级会员

    Rank: 4

    积分
    523
    最后登录
    2020-9-7
     楼主| 发表于 2018-5-16 16:49:21 | 显示全部楼层
    FSL_TICS_Robin 发表于 2018-5-14 10:53
    建议楼主下载SDK_2.3.1_MKE15Z256xxx7并参考其目录下的lpi2c例程.
    比如...\SDK_2.3.1_MKE15Z256xxx7\boards ...

    谢谢你的回复,你的建议我已经看过了。附件是我的程序及其波形,里面我有注明我的疑问,麻烦您帮忙看一下,谢谢。

    IIC.rar

    4.1 MB, 下载次数: 5, 下载积分: 威望 1

    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-2 06:04
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    59

    主题

    2888

    帖子

    10

    金牌会员

    Rank: 6Rank: 6

    积分
    6020
    最后登录
    2020-9-28
    发表于 2018-5-25 17:31:58 | 显示全部楼层
    在士林的晴天 发表于 2018-5-16 16:49
    谢谢你的回复,你的建议我已经看过了。附件是我的程序及其波形,里面我有注明我的疑问,麻烦您帮忙看一下 ...

    你MTDR发0x106请求接收7个数据,但是IIC_ReceiveData却只读了一次MRDR,你试着读7次看看
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-21 00:25 , Processed in 0.098574 second(s), 26 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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