打印

请教用freescale扩IIC铁电遇到的问题

[复制链接]
2076|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
andy_mqy|  楼主 | 2007-9-20 18:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用PTE的两个IO引脚,且都加了10K上拉,时钟SCL一直做输出引脚,数据SDA在判断应答位时做输入引脚,发送起始位和数据时做输出,但如果只向铁电写一次都接受不到应答位,只有在主循环中不断向铁电写操作,会接受到应答位,偶尔也会接受不到。延时也调整了,还是不行。都晕了,请教有此方面经验的朋友赐教。多谢!

相关帖子

沙发
gxs64| | 2007-9-21 08:53 | 只看该作者

re

严格按照iic协义,应没问题。

使用特权

评论回复
板凳
张明峰| | 2007-9-21 22:10 | 只看该作者

看波形

用双踪示波器捕捉一次II2传输的波形,就可以看清楚问题所在了.

如果没有示波器,就单步运行IIC程序.如果单步可以连续不行,就是总线时序有问题.

顺便提一下,SDA发送数据时最好不要一直输出.0为低电平输出,但1应通过外部上拉电阻得到.

使用特权

评论回复
地板
andy_mqy|  楼主 | 2007-9-28 18:07 | 只看该作者

原因找到了

用示波器看了波形,是IIC铁电没有发送应答,查看了数据手册,硬件软件设置没有问题,最后无异中发现,单片机RESET脚悬空呢,就将RESET脚对地接个电容,最后程序运行正常了.

个人认为,FREESCALE的RESET脚在程序下载时或上电运行时,都不要悬空.多谢各位的回复.

使用特权

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

本版积分规则

27

主题

86

帖子

3

粉丝