找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1489|回复: 3
打印 上一主题 下一主题
收起左侧

单片机程序在加继电器通电后出现的问题,在else里出不来了

[复制链接]
跳转到指定楼层
楼主
ID:719915 发表于 2020-5-9 09:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10黑币
我做了一个智能门锁,下面将贴出出现问题的程序段
没接继电器之前程序运行时一切正常的。在接入继电器后(PA5、GND,继电器自己通过电源供电,通过GND与stm32共地,PA5发出高低电平指示继电器开断),程序执行异常。

求解是什么原因!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:719915 发表于 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;
                }
}
回复

使用道具 举报

板凳
ID:719915 发表于 2020-5-9 09:30 | 只看该作者
这个程序在各初始化完成后的while(1)死循环中不断执行,按说Locked=0解锁后会开锁7秒后,再将Locked赋成0,LCD会显示7秒“已开锁,欢迎”后,重新显示“已上锁,密码/指纹” ,在继电器接入电源之前也确实是这样完美执行的。但在继电器接入电源后,一直显示“已开锁,欢迎”, 且LED常亮。  因此我判断是在else里一直没出来 ,但不知道什么原因。   求解!
回复

使用道具 举报

地板
ID:733231 发表于 2020-5-9 11:44 | 只看该作者
原理图截图看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表