
最近做一个传感器项目,因为比较紧凑,选用了F030F4的单片机使用内部8M时钟PLL到36M作为时钟源,在代码中开启了2个定时器,一个1s一个50ms,1s的定时器中进行喂狗并翻转IO口电平,50ms定时器中查询某个状态位然后通过io驱动LED闪烁做状态指示,定时器中断代码如附件所示。目前遇到的问题是用烙铁在芯片上方5mm处加温,过一会1s定时器控制翻转电平的io口变成了低电平,不再翻转,50ms的定时器io口电平翻转正常,但是用示波器测波形不稳定,有时会从9.6Hz直接跳到10.16Hz然后再跳回来。现在程序正常工作,在1s的定时器里做了喂狗操作,能确定的是程序没跑飞,也没复位,串口输出,i2c读取传感器数据也正常,就是1s定时器翻转io口电平驱动led,从闪烁变成了常亮。 请大家给帮忙分析下看看是什么情况,谢谢 |
这样做你不知道IC受到的真实温度,有没有超出工作温度上限,还是用恒温箱做测试吧。
通常温度急剧变化对内部时钟会有影响,如果影响到节温,那基本芯片就不能运行了。
所以楼主不妨只运行这个1s的程序,看看同样条件下是否正常。当然最好还是在恒温恒湿箱里做这个实验,否则条件不确定容易引起误判。