楼主: longdelu

[已解决] LPC 824 I2C问题

[复制链接]

该用户从未签到

0

主题

32

帖子

0

注册会员

Rank: 2

积分
61
最后登录
2019-9-30
发表于 2016-11-10 17:02:59 | 显示全部楼层
不懂帮顶
回复

使用道具 举报

该用户从未签到

2

主题

39

帖子

0

注册会员

Rank: 2

积分
103
最后登录
2021-1-27
 楼主| 发表于 2016-11-10 17:36:23 | 显示全部楼层
小恩GG 发表于 2016-11-10 16:38
你用的debug工具是正版的吗?
还有,你debug下如果跑PIO0_10, PIO0_11会出问题吗? ...

我的仿真器是J-LINK,是盗版的,可是以前我调试时其他ARM没有出现过这一现像,也许没有留意过,因为以前调试都没有遇到这个情况。DEBUG调试跑程序,会多出一个DEBUG中断、在DEBUG时全速跑比正常跑程序要慢一些之外,应该区别不是很大吧,我当初DEBUG调试PIO0_10、PIO0_11,尝试估计不下30次都没有这种现像。现在我把速率降到200K后,在DEBUG下还会出现那个现像,在几分钟之内总线就死机了,然后我再把它降到100K,还是有。然而,在这两种速率下,我退出DEBUG,复位让程序跑,这两个速率下都分别跑了约17分钟没有死机,更长的时间没有测,不知道再长一点时间会不总线死机。此时我用的从机上拉电阻为10K,4.7K那个不在这里暂无法测试
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20132
最后登录
2024-5-3
发表于 2016-11-10 17:47:30 | 显示全部楼层
longdelu 发表于 2016-11-10 17:36
我的仿真器是J-LINK,是盗版的,可是以前我调试时其他ARM没有出现过这一现像,也许没有留意过,因为以前 ...

你现在是使用PIO0_10,PIO0_11,也就是之前没有问题的引脚,在debug的时候也会出问题了对吗?
有个好消息,我这边现在把板子割线调整到了PIO0_12,PIO0_13,用你的代码,在debug下的确出现死机现象,我能复现你的问题了。
我怀疑可能和你的代码有关系,明天我会好好检查下你的代码。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

39

帖子

0

注册会员

Rank: 2

积分
103
最后登录
2021-1-27
 楼主| 发表于 2016-11-10 17:47:41 | 显示全部楼层
小恩GG 发表于 2016-11-10 16:42
我在想办法试其他引脚,我需要要割板子,连线到外部EEPROM。

真是麻烦你,你的板子上引脚没有外接出来吗?还有我想说,逻辑分析仪或示波器的测试引脚接到PI00_12、PI00_13,对I2C影响大不大? 按道理来说逻辑分析仪或示波器的测试引脚应该都是高阻的,也许会有一点点影响,可是有时候我发现我在DEBUG模式下全速跑程序,一接上逻辑分析仪的测试引脚,I2C通信立马就停止了,总线此时就死机了,此时只能点击KEIL里面的复位按键,让程序重新跑。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

39

帖子

0

注册会员

Rank: 2

积分
103
最后登录
2021-1-27
 楼主| 发表于 2016-11-10 17:53:16 | 显示全部楼层
小恩GG 发表于 2016-11-10 17:47
你现在是使用PIO0_10,PIO0_11,也就是之前没有问题的引脚,在debug的时候也会出问题了对吗?
有个好消息 ...

你好,谢谢,那我现在再多测测PIO0_10, PIO0_11的那个引脚,也叫我另外的小伙伴用新的板子再帮忙测测
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20132
最后登录
2024-5-3
发表于 2016-11-10 18:05:12 | 显示全部楼层
longdelu 发表于 2016-11-10 17:47
真是麻烦你,你的板子上引脚没有外接出来吗?还有我想说,逻辑分析仪或示波器的测试引脚接到PI00_12、PI0 ...

debug也打开,挂上逻辑分析仪和示波器,应该对电路还是有影响的。
你有没有测试,不挂任何测试设备,debug全速,只打印试试?
这种情况下,我测试很久都没有出现死机现象。
我之前测试出现死机,也是在挂了示波器的情况下。
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

39

帖子

0

注册会员

Rank: 2

积分
103
最后登录
2021-1-27
 楼主| 发表于 2016-11-10 18:08:54 | 显示全部楼层
本帖最后由 longdelu 于 2016-11-10 22:00 编辑
小恩GG 发表于 2016-11-10 18:05
debug也打开,挂上逻辑分析仪和示波器,应该对电路还是有影响的。
你有没有测试,不挂任何测试设备,debug ...

当初肯定是正常跑的时候I2C出现问题,然后调试,使用了这些逻辑分析仪与示波器等工具来协助调试的。我这边测试过,只能跑久一点,可是它还是死机了。具体时间不知道,有时候较短,以分计,有时候较长,以小时计,我开DEBUG模式,不接示波器与逻辑分析仪,有几次出去吃饭回来,总线死机了,或跑一个晚上,第二天一来,总线已经死机,只是出现死机时间长短不知道。其实我做过好多测试,包括把I2C1的引脚引到PIO0_16为SCL, PIO0_18为SDA这两个引脚,它也会出现上面的那个问题,而且根据测试情况来看,PIO0_16, PIO0_18这两个更加容易出现死机,时间就几分钟之内。无论是在200K,400K的速率下,在DEBUG时,就算没接逻辑分析仪或示波器,也非常容易死机,也许这跟板子的外围硬件电路有一些关系,但不至于试两对引脚都会出现同样的现像,你那边可以换到这两对引脚PIO0_16, PIO0_18这两对引脚试试。如果你明天有空,检查代码时确定代码真的有问题,请告诉我究竟是啥地方弄错,啥子原因让我折腾这么久。感谢你一直给予我回复,非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

39

帖子

0

注册会员

Rank: 2

积分
103
最后登录
2021-1-27
 楼主| 发表于 2016-11-10 18:14:04 | 显示全部楼层
本帖最后由 longdelu 于 2016-11-10 21:58 编辑

感谢你一直给予我回复,非常感谢
回复 支持 反对

使用道具 举报

该用户从未签到

2

主题

39

帖子

0

注册会员

Rank: 2

积分
103
最后登录
2021-1-27
 楼主| 发表于 2016-11-10 18:25:09 | 显示全部楼层
本帖最后由 longdelu 于 2016-11-10 18:32 编辑
小恩GG 发表于 2016-11-10 18:05
debug也打开,挂上逻辑分析仪和示波器,应该对电路还是有影响的。
你有没有测试,不挂任何测试设备,debug ...

如果代码没有问题(其实我个人认为是没有问题的),我在官方代码的基础上只是写了一个测试用例而已,如果一接上逻辑分析仪或示波器这种仪器就死机,总觉得硬件方面上有问题,我之前没有遇到过接上逻辑分仪析会影响I2C通信的。也许与测的时间长短有关与容易出现的概率有关。你哪边可以让其跑长一点时间,比如一个晚上,不挂示波器,看看还能出现那个问题吗?当初我用400K速率的时候,无论上拉电阻是10K,还是4.7K,没有外接示波器与逻辑分析仪,它死机了。
回复 支持 反对

使用道具 举报

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20132
最后登录
2024-5-3
发表于 2016-11-11 09:53:06 | 显示全部楼层
longdelu 发表于 2016-11-10 18:25
如果代码没有问题(其实我个人认为是没有问题的),我在官方代码的基础上只是写了一个测试用例而已,如果 ...

楼主你好!
我这边再做一个长时间测试试试,目前已经跑了一个小时没有出问题,不过我这边上拉是2.2K的。
你现在那边如果有条件,跑两个板子,不挂任何测试设备看看是否会死机。
1. 上拉2.2K,400K速率跑
2. 上拉2.2K, 200K速率跑。
引脚都用PIO0_12,PIO0_13.
看看多久会死机。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

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

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

GMT+8, 2024-5-5 17:23 , Processed in 0.135367 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

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