查看: 1158|回复: 0
打印 上一主题 下一主题

STM8神Bug:5V供电10秒复位,3.3V供电没有问题

[复制链接]
跳转到指定楼层
沙发
发表于 2016-4-12 20:52:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题,5V供电就10秒复位,而使用ST-Link下载线的3.3V供电就没有问题。
不是一台,是程序刷到每一台都会这样。
使用到的资源:内部晶体,设置成16M速度,PB0口的ADC,定时器1。
有人遇到过这种情况吗?
之前是8秒,程序改一下就又是10秒了。但没看出程序有什么问题,使用的是C++编程,不会是这个原因吧?

补充:
我设置了一个倒计时,倒计时从60倒计到52或者50,就自动复位,但3.3V的时候没有任何问题。
我后来程序改一下,让倒计时只到55就又重新赋值为60,然后就一直跑没问题了,5V和3.3都Ok了。
我已经把程序最简化了,除了数码管驱动程序还是用C++的类方法,其它就一个倒计时用来测试,但就是不行。
后来我想想,让倒计改为正计,即由60向上加,5V不行, 一个也加不了,但是3.3V就没问题可以加了。
程序真的已经是最简化了。什么都砍掉了,只为做测试,显示函数如下:
nSeg.dispInt((1111);  //此时显示1111
复制代码

然后就是几行测试程序:

        int Time = 60;//这个是全局变量
        count++;        //count也是全局变量
      if(count>=5){
        count = 0;
        Time++;
    }
复制代码

我觉得这么简单的测试代码就没有必要上了,但是为了让各位看官更加直观。
然后调用dispInit函数显示,60根本加不上去,一秒就复位。之前减还是减到52或者50才复位的。但是这些情况,在3.3V都完全正常工作,一点问题都没有!

本来想调试好再回论坛里说明原因的,无耐无计可施,关键是它在STLINK的3.3V工作下一切正常,所以我每次观察都要下载完后把SWIM四线拔掉,插上USB的5V测试。

补充:
型号:STM8S003K3T6
环境:IAR
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入中科因仑

本版积分规则

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