找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1916|回复: 1
收起左侧

怎么让超声波模块和红外对管同时工作?

[复制链接]
ID:322672 发表于 2018-5-22 11:43 | 显示全部楼层 |阅读模式
在做一个能根据超声波测距来检测障碍物,并将其撞开,但是小车有一定的活动范围,所以想通过红外循迹模块来实现,问题是程序只能一条一条执行,当主程序进到超声波程序时,发现程序一直在运行超声波程序,试问有什么好的方法能解决该问题,
回复

使用道具 举报

ID:335709 发表于 2018-5-22 15:37 | 显示全部楼层
MCU的程序,绝不是一个“单线程”的程序。
主循环一定是简单的:检测一个标志是否出现,出现了,就作一下对应的处理动作;然后检测下一个标志;如此而已。
然后在中断程序里,只是简单地去设置一下标志,而不做大块的处理。
从不在处理的过程中再搞什么循环,去干等某一个条件满足。换句话说,MCU的绝大多数时间,都是在主循环里空转。
这样,不管是多少外设,都不耽误“同时”工作,当然是稍微宏观意义上的“同时”

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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