打印

串口总死掉

[复制链接]
5546|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ZLSWRH|  楼主 | 2010-12-28 17:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
chunyang| | 2010-12-28 17:11 | 只看该作者
往往是闩扣效应所致,说明干扰较强,需要加扛干扰电路,比如串磁珠,加钳位等等。

使用特权

评论回复
板凳
NE5532| | 2010-12-28 17:27 | 只看该作者
后面是232还是485?挂示波器确认芯片有没有输出,就是区分是界面芯片死还是MCU死

使用特权

评论回复
地板
ZLSWRH|  楼主 | 2010-12-28 20:22 | 只看该作者
是232芯片,MCU收到数据,就是无回答,主程序的循环未死!

使用特权

评论回复
5
NE5532| | 2010-12-28 20:37 | 只看该作者
如果你能用示波器之类确认232芯片输出有数据,且单片机的主循环没死,那多半都是程序问题,有小概率发生的时间造成了程序流程“飞”。

使用特权

评论回复
6
ZLSWRH|  楼主 | 2010-12-28 21:07 | 只看该作者
有小概率发生的时间造成了程序流程“飞”。但还能回来,真让人难解!

使用特权

评论回复
7
NE5532| | 2010-12-28 22:00 | 只看该作者
注意你是重新上电后恢复的,不是自动恢复的。我有8层把握是你软件上的问题。

使用特权

评论回复
8
zhaoyu2005| | 2010-12-29 09:36 | 只看该作者
先换个正品的232看看(仿232,有不稳定的),如果还是这个问题,那就是程序的问题

使用特权

评论回复
9
chunyang| | 2010-12-29 12:30 | 只看该作者
是闩扣效应还是软件bug很容易判断,出故障时不要重新上电,人工给个复位信号,如果恢复正常就是软件问题,否则是硬件问题。

使用特权

评论回复
10
yangxh2005| | 2010-12-29 15:25 | 只看该作者
这个问题不难查,先静下心来,按chunyang的办法看看是不是软件问题,如果不是,用示波器看232接收的输入输出端信号是否一致,应该能找到原因了

使用特权

评论回复
11
ZLSWRH|  楼主 | 2010-12-29 15:58 | 只看该作者
产品装在机柜里,无法实现人工给个复位信号.232收到数据是通过我设计好的指示灯看出的(而且加了隔离电源)!
示波器也无法观察!

使用特权

评论回复
12
acute1110| | 2010-12-29 16:01 | 只看该作者
的确如Chunyang所说,这么查能比较快的定位问题的根源,如果是硬件问题还需要通过一系列的方法来验证具体的问题源,为了快速复现你可以提高串口的baudrate来提高复现的几率
1,出故障后看看能否用软件将uart寄存器的值读出来分析一下。然后重新初始化看看能否恢复。
2,如果还不能恢复,看看能否采用非上电复位的方法来试试。即按reset键。
3,如果还不能恢复,再查uart的外围硬件电路,加TVS,串电阻阻做保护等等。

使用特权

评论回复
13
ocon| | 2010-12-29 16:37 | 只看该作者
如果是新设计的系统,八成是软件的BUG,比如通讯出错时忘记清除出错标志位之类的。

使用特权

评论回复
14
ZLSWRH|  楼主 | 2010-12-29 16:50 | 只看该作者
uart的外围硬件电路已有RXD和TXD对地加P6KE18CA,并串联10/2W电阻的保护!

使用特权

评论回复
15
acute1110| | 2010-12-30 08:47 | 只看该作者
10/2W的电阻有个屁用(不小心粗口了),换100ohm到1K都可以啊。不要2W的 1/4就可以了

使用特权

评论回复
16
ZLSWRH|  楼主 | 2010-12-30 21:10 | 只看该作者
LS!请讲明原因!?

使用特权

评论回复
17
acute1110| | 2010-12-31 17:30 | 只看该作者
10ohm的电阻吸收的能量有限。

使用特权

评论回复
18
qwqwqw2008| | 2010-12-31 19:01 | 只看该作者
八成是软件的BUG ,应该是的

使用特权

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

本版积分规则

9

主题

45

帖子

0

粉丝