Lu.Shi 发表于 2015-1-25 15:02:48

freescale IIC 双机通信 主机收不到从机的应答怎么解决?

最近两天在研究freescale的IIC的双机通信的问题,但是现在问题是根据官网提供的文档配置完之后,主机给从机发送完从机地址,从机并没有给出应答,而且从机也没有进入中断,但是我很确定设置的从机地址一致,为什么会进入不到中断呢?主机收不到从机的应答我想可能是不是从机进不了中断引起的呢?我用的是Freescale MKV46F128VLH15的片子,希望大侠们出出招。
PS:顺便侃一下freescale的IIC都类似呢?我找的好多资料虽然不是我这片子的,但是内容都是差不多的,是不是freescale大部分芯片的IIC都是差不多一样的呢?我没有接触过其他的freescale芯片,只是找资料的时候发现IIC模块是差不多一样的。。。

Lu.Shi 发表于 2015-1-25 15:19:27

自己顶一个

jiang887786 发表于 2015-1-26 13:38:45

你问的太笼统了,不是那么简单。你的主从都是单片机吗?还是从鸡是外设?我建议你最好先软件模拟iic。在来硬的!goodluck!对了,有示波器或者分析仪不?一目了然...

yuyu87 发表于 2015-1-26 19:40:16

没上拉            

unknown 发表于 2015-1-27 08:41:39

有可能是没有接上拉电阻,导致I2C通信失败

Lu.Shi 发表于 2015-1-27 14:42:20

yuyu87 发表于 2015-1-26 19:40
没上拉

有上拉电阻,和EEPROM通信都是正常的,但是两个MCU的时候一个主机一个从机的时候就没有应答了

Lu.Shi 发表于 2015-1-27 14:52:38

unknown 发表于 2015-1-27 08:41
有可能是没有接上拉电阻,导致I2C通信失败

感谢回复!IIC的总线上有上拉电阻,外接EEPROM的时候就是通信正常,但是将EEPROM换成同样MCU的时候就出现从机没有应答,进不了中断,但是我确定是从地址发的是正确的

浪里白条 发表于 2015-1-27 15:02:24

量波形,然后分析波形。

浪里白条 发表于 2015-1-27 15:03:25

首先要保证2根线没有接反,楼主有逻辑分析仪没有,没有的话用示波器采波形进行分析。

Lu.Shi 发表于 2015-1-27 15:09:27

浪里白条 发表于 2015-1-27 15:03
首先要保证2根线没有接反,楼主有逻辑分析仪没有,没有的话用示波器采波形进行分析。 ...

感谢回复!线没有接反,从示波器上看主机重复发送从机的地址,然后就没有然后了,从机就是不给应答

浪里白条 发表于 2015-1-27 15:14:06

Lu.Shi 发表于 2015-1-27 15:09
感谢回复!线没有接反,从示波器上看主机重复发送从机的地址,然后就没有然后了,从机就是不给应答 ...

你现在从机和主机都是用的一样的芯片,仔细检查下从机寄存器是否配置正确了的。楼主可以发程序上来。

FSL_TICS_Robin 发表于 2015-2-5 10:02:04

Processor Expert工具暂时不支持KV4x系列,而且暂时官网也下载不到KV4x的参考手册。
不过IIC模块应该是通用的,所以你可以参考Processor Expert工具生成的IIC主从机代码。

FSL_TICS_Robin 发表于 2015-2-5 10:03:09

Lu.Shi 发表于 2015-1-27 15:09
感谢回复!线没有接反,从示波器上看主机重复发送从机的地址,然后就没有然后了,从机就是不给应答 ...

如果自己通过操作寄存器方式编写IIC主从机中断形式的函数,千万要按照参考手册上IIC那个流程图来:

bj232 发表于 2015-2-5 12:57:02

反正我是被stm32的iic坑死了,不清楚楼主的芯片怎样

ccrt 发表于 2015-2-7 08:08:26

最好还是找个例程照着改,比较省力气

ccrt 发表于 2015-2-7 08:08:53

FSL_TICS_Robin 发表于 2015-2-5 10:03
如果自己通过操作寄存器方式编写IIC主从机中断形式的函数,千万要按照参考手册上IIC那个流程图来:
...

自己写这个有什么好处么?

Lu.Shi 发表于 2015-2-9 11:25:29

FSL_TICS_Robin 发表于 2015-2-5 10:03
如果自己通过操作寄存器方式编写IIC主从机中断形式的函数,千万要按照参考手册上IIC那个流程图来:
...

感谢版主的回复,我是按照这个流程图写的

CaineStrong 发表于 2015-2-9 13:25:47

Lu.Shi 发表于 2015-1-27 15:09
感谢回复!线没有接反,从示波器上看主机重复发送从机的地址,然后就没有然后了,从机就是不给应答 ...

楼主说的“从示波器上看主机重复发送从机的地址”,重复发送周期多少?改长点试一下。

Lu.Shi 发表于 2015-2-10 13:46:38

CaineStrong 发表于 2015-2-9 13:25
楼主说的“从示波器上看主机重复发送从机的地址”,重复发送周期多少?改长点试一下。 ...

感谢回复,试验了一下和发送周期没有关系,我的发送周期是1s一发,主机重复发送是因为从机没有给出应答,然后第二个1s时间到然后又开始发送从机的地址

CaineStrong 发表于 2015-2-10 17:10:49

Lu.Shi 发表于 2015-1-27 14:52
感谢回复!IIC的总线上有上拉电阻,外接EEPROM的时候就是通信正常,但是将EEPROM换成同样MCU的时候就出现 ...

与外部EEPROM通讯无问题,说明主机MCU的程序没问题。从机换成MCU后,没有应答。
所以请检查从机的程序,你可以将从机的应答模拟外接的EEPROM(具体请细读EEPROM的数据手册。一般的,在接收到起始信号和从器件地址之后响应一个应答信号;如果器件已选择了写操作则在每接收一个8位字节之后响应一个应答信号)

Lu.Shi 发表于 2015-2-11 16:31:43

bj232 发表于 2015-2-5 12:57
反正我是被stm32的iic坑死了,不清楚楼主的芯片怎样

哎,说多了都是泪,不好弄,就一个MCU使用手册,没有什么其他的资料也没有例程,代码不好写

Lu.Shi 发表于 2015-2-11 16:33:04

ccrt 发表于 2015-2-7 08:08
自己写这个有什么好处么?

估计好处就是不容易出错
页: [1]
查看完整版本: freescale IIC 双机通信 主机收不到从机的应答怎么解决?