打印
[STM32F1]

STM32碰到一个奇葩的问题,求指导

[复制链接]
1061|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 andy93762 于 2015-9-15 22:36 编辑


如图,我设计了一个TP4056的充电电路。VUSB是USB充电器输入的5v电压,VDC是外接的直流电压(4.5v)。当VUSB有电时,由USB提供电流充电,否则由VDC提供电流充电。

TP_CTR用于控制TP4056充电或者停止充电,TP_CTR接STM32的GPIO口

问题来了,如果J4接有电池,STM32单片机正常工作。如果把电池取掉,TP_CTR输出高电平,STM32就工作不正常了,现象是程序运行速度突然加快了好多(芯片是STM32F103C8,我直接用内部的8mhz晶振的),比如一个DELAY延时,本来延时一秒的,现在只要50ms就完成了。

如果我把TP_CTR设置成低电平输出,STM32又正常了。真的有点奇怪呢。亲们有遇到过这个情况么?是啥原因

沙发
dingsujie| | 2015-9-18 16:26 | 只看该作者
量一下输出的3.3V在两种情况下是否正常

使用特权

评论回复
板凳
皈依| | 2015-9-18 16:58 | 只看该作者
用外部晶振试试,另外检测一下电平。。。
差了一半。。有点夸张

使用特权

评论回复
地板
309030106| | 2015-9-18 19:40 | 只看该作者
电池取掉,导致TP_CTR输出高电平,是什么原因

使用特权

评论回复
5
wahahaheihei| | 2015-9-18 23:08 | 只看该作者
正常就按照正常的来啊。

使用特权

评论回复
6
戈卫东| | 2015-9-19 07:24 | 只看该作者
我猜其实是电源的问题。TP4056向C31充电时,VDC被拉低导致MCU复位,然后你检测延迟的信号给出了虚假的状态

使用特权

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

本版积分规则

72

主题

290

帖子

3

粉丝