标题:
单片机程序在加继电器通电后出现的问题,在else里出不来了
[打印本页]
作者:
R00kie
时间:
2020-5-9 09:23
标题:
单片机程序在加继电器通电后出现的问题,在else里出不来了
我做了一个智能门锁,下面将贴出出现问题的程序段
没接继电器之前程序运行时一切正常的。在接入继电器后(PA5、GND,继电器自己通过电源供电,通过GND与stm32共地,PA5发出高低电平指示继电器开断),程序执行异常。
求解是什么原因!
作者:
R00kie
时间:
2020-5-9 09:24
void Status_Refresh(void)
{
if(Locked) //上锁状态
{
LCD1602_I2C_DISPLAY_STRING(1," Locked "); //上锁时 显示Locked ,Psw or Fpt等待输入密码解锁
LCD1602_I2C_DISPLAY_STRING(2," Psw or Fpt ");
LOCK_ON;
LED_OFF;
}
else //开锁状态
{
LCD1602_I2C_DISPLAY_STRING(1,"Already Unlocked"); //开锁时 显示AlreadyUnlcoked, WELCOME
LCD1602_I2C_DISPLAY_STRING(2," WELCOME! :) ");
Unlock_7s(); //开锁7秒,再上锁
LED_ON ;
delay_ms(20);
Locked = 1;
Fpt_Pass = 0; // 清除进入方式标记
Psw_Pass = 0;
}
}
作者:
R00kie
时间:
2020-5-9 09:30
这个程序在各初始化完成后的while(1)死循环中不断执行,按说Locked=0解锁后会开锁7秒后,再将Locked赋成0,LCD会显示7秒“已开锁,欢迎”后,重新显示“已上锁,密码/指纹” ,在继电器接入电源之前也确实是这样完美执行的。但在继电器接入电源后,一直显示“已开锁,欢迎”, 且LED常亮。 因此我判断是在else里一直没出来 ,但不知道什么原因。 求解!
作者:
xu1234567890
时间:
2020-5-9 11:44
原理图截图看看
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1