找回密码
 立即注册

QQ登录

只需一步,快速开始

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

这个单片机程序连续检测三次低电平才有效?

[复制链接]
跳转到指定楼层
楼主
本帖最后由 goldbirderman 于 2022-5-6 16:54 编辑

                                                  if(IN_S == 0)
                                                        delay_ms(5);
                                                           if(IN_S == 0)
                                                                delay_ms(5);
                                                                       if(IN_S == 0)
                                                                    {
                                                                                  
                                                                         RELAY_SWITCH();
                                                                           V1 = 1;
                                                                           WORK = 1;
                                                                          Lgnition2 = 1;
                                                                           FAULT = 0;
                                                                  }
                                                                     else
                                                                {
                                                                     num = 0;
                                                                }     


检测了三次低电平才有效,到了高电平检测不了,这是怎么回事,麻烦大神帮忙解决,谢谢

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

使用道具 举报

沙发
ID:213173 发表于 2022-5-6 16:26 | 只看该作者
楼主抄错了吧?
回复

使用道具 举报

板凳
ID:688692 发表于 2022-5-6 16:41 | 只看该作者
你的括号没放对位置导致流程是错的。至少我看起来是这样。

回复

使用道具 举报

地板
ID:103131 发表于 2022-5-6 16:48 | 只看该作者
cnos 发表于 2022-5-6 16:41
你的括号没放对位置导致流程是错的。至少我看起来是这样。

哪里错可以指出来吗?
回复

使用道具 举报

5#
ID:525068 发表于 2022-5-6 16:48 | 只看该作者
应该是按键按下的检测程序,如果延时都是5ms的话,连续检测三次低电平应该是为了消抖
回复

使用道具 举报

6#
ID:883242 发表于 2022-5-6 16:49 | 只看该作者
建议先用indent、astyle这样的工具格式化一下代码再发出来,这样没层次的源码太难看懂了。
回复

使用道具 举报

7#
ID:103131 发表于 2022-5-6 16:52 | 只看该作者
1255230 发表于 2022-5-6 16:48
应该是按键按下的检测程序,如果延时都是5ms的话,连续检测三次低电平应该是为了消抖

那个开关是船型开关,不用消抖吧?
回复

使用道具 举报

8#
ID:103131 发表于 2022-5-6 16:56 | 只看该作者
1255230 发表于 2022-5-6 16:48
应该是按键按下的检测程序,如果延时都是5ms的话,连续检测三次低电平应该是为了消抖

是这样的,开关是船型,而输入信号高电平为3.1V,低电平是2.1V,实际上两个都是高电平,我用示波器测过低电平有20MS的,所以那个低电平在一瞬间,是锁不了的
回复

使用道具 举报

9#
ID:262 发表于 2022-5-6 17:25 | 只看该作者
cnos 发表于 2022-5-6 16:41
你的括号没放对位置导致流程是错的。至少我看起来是这样。

这个图很形象 这是用什么软件生成的啊?
回复

使用道具 举报

10#
ID:103131 发表于 2022-5-6 17:36 | 只看该作者
cnos 发表于 2022-5-6 16:41
你的括号没放对位置导致流程是错的。至少我看起来是这样。

解决了,谢谢各位,是延时不好而已
回复

使用道具 举报

11#
ID:688692 发表于 2022-5-6 23:31 | 只看该作者
heicad 发表于 2022-5-6 17:25
这个图很形象 这是用什么软件生成的啊?

Autoflowchart
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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