打印

香版,为什么我的F103会如此的容易复位重启?(解决)

[复制链接]
1614|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yzzly|  楼主 | 2012-11-5 15:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yzzly 于 2012-11-6 13:45 编辑

本人103VE系统,快要去做试验了,却发现用金属物体(例如万用表表棒或者螺丝刀)无论点击供电电源的正还是负系统都常重启,这是为什么呢?即使点击其它(DC220)与系统没有直接连接的电源(光耦隔离)也会这样,为什么如此脆弱?有什么办法避免?谢谢!
沙发
jiangzhe8525| | 2012-11-5 15:30 | 只看该作者
点击供电电源的正还是负?怎么点击的。

使用特权

评论回复
板凳
yzzly|  楼主 | 2012-11-6 10:42 | 只看该作者
没人碰到过?如何知道是什么原因导致复位?复位重启后怎么看复位寄存器?

使用特权

评论回复
地板
yzzly|  楼主 | 2012-11-6 11:22 | 只看该作者
本帖最后由 yzzly 于 2012-11-6 11:53 编辑

直接手摸芯片时钟引脚都不易复位,为什么点击电源却那么容易复位?本人开放了内部看门狗,RST引脚用了3K电阻强力上拉。

使用特权

评论回复
5
holts| | 2012-11-6 13:05 | 只看该作者
上原理图, 实物图, 只是这样说随帮得了你阿?

使用特权

评论回复
6
holts| | 2012-11-6 13:06 | 只看该作者
对了, 还有详细说明工作环境

使用特权

评论回复
7
yzzly|  楼主 | 2012-11-6 13:50 | 只看该作者
原来是外部中断处理不当造成的。本人使用了EXIT7(电路没有滤波电容)和EXIT8(电路有滤波电容),当点击电源的时候,产生的干扰脉冲耦合到EXIT7引脚引起中断,而本人在程序里是检查EXIT7引脚电平后做清除中断标志处理的,实际上进入中断函数的时候干扰信号已经消失,所以EXIT7的中断标志不能被清除,故不断引起中断,导致不能及时喂狗,内部看门狗饿了就咬我了!

使用特权

评论回复
8
lut1lut| | 2012-11-6 14:23 | 只看该作者
LZ,我对这个解释有点疑问哦:“进入中断函数的时候干扰信号已经消失,所以EXIT7的中断标志不能被清除”

既然能进入中断,说明flag置位了,就算后来干扰消失了,这个flag也是在的呀?

使用特权

评论回复
9
yzzly|  楼主 | 2012-11-6 14:39 | 只看该作者
回8楼,本人是检测EXIT7引脚“电平”状态后才用语句EXTI_ClearITPendingBit(ExtIntLine7 << 7);清除中断标志,干扰信号消失检测不到引脚电平就不执行EXTI_ClearITPendingBit(ExtIntLine7 << 7);语句,所以不断中断。

使用特权

评论回复
10
lut1lut| | 2012-11-6 16:41 | 只看该作者
所以LZ的EXTI7的ISR不应该if(检测EXIT7引脚“电平”状态)再清除中断标志;而应该if(相应flag置位)就清除中断标志。后者即使由于干扰造成误触发了EXTI7,也可以正确退出,不会一进再进ISR。

使用特权

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

本版积分规则

428

主题

1183

帖子

3

粉丝