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

[复制链接]
2761|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传输的波形,就可以看清楚问题所在了.<br /><br />如果没有示波器,就单步运行IIC程序.如果单步可以连续不行,就是总线时序有问题.<br /><br />顺便提一下,SDA发送数据时最好不要一直输出.0为低电平输出,但1应通过外部上拉电阻得到.
 楼主| andy_mqy 发表于 2007-9-28 18:07 | 显示全部楼层

原因找到了

用示波器看了波形,是IIC铁电没有发送应答,查看了数据手册,硬件软件设置没有问题,最后无异中发现,单片机RESET脚悬空呢,就将RESET脚对地接个电容,最后程序运行正常了.<br /><br />个人认为,FREESCALE的RESET脚在程序下载时或上电运行时,都不要悬空.多谢各位的回复.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

86

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部