|
如题,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 |
|