晕,文字描述怎么没了!!
问题描述:
STM32 IO口控制 ULN2003 ,电路图如下,现在问题是,如果不接入220V是,继电器控制没有问题,当接入220V电压后,,继电器瞬间吸合然后弹开,,查看stm32 IO口发现,,IO口不能持续提供3.3V电压,IO口用的推挽输出,,大神们,,帮忙分析一下,是电路问题,还是程序问题,,我是小白,,谢谢大家!!!STM32 IO我也试过用4.7K上拉3.3V和5V,,但问题依旧,,我觉得程序问题可能比较大,但是除了推挽输出别的输出怎么控制ULN2003呢。。大神们指点一下。。。再次谢谢!!
进展1:2015/12/24
发现是STM32受到干扰所致。。为什么这么说呢,STM32 IO口输出时(推挽输出),也就是继电器吸合的时候,,我用示波器 地表笔 碰触线路板 地 时,继电器断开了,,也就是IO口不输出了。。应该就是收到了干扰的原因,,继续找原因中,,大家帮忙出出主意,,为什么STM32会受到干扰,,谢谢!
进展2:2015/12/25
现在发现问题是收到干扰时,程序进入了我的中断。关闭了IO口输出,,但是为什么会受到干扰呢,,进一步找原因,,还有一个古怪的问题就是,当按下一个按键时。有时候不一定首先进入的是按键对应的中断,而是跑别的中断里面去了,我的按键有消抖延时所以没有执行动作命令,如果没有这个的话岂不是乱套了,,基本上出现的概率有40%左右,,比如我的key0对应的中断0,,我按下key0后它会先进入中断1、中断2、等,然后再进入中断0,再执行动作。。这是什么原因呢,,我怀疑是端口复用的问题,。。测试中!!!
|