OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 1947|回复: 3

关于通用定时器捕捉红外信号的问题

[复制链接]

9

主题

22

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-12-29
在线时间
13 小时
发表于 2018-3-20 22:44:17 | 显示全部楼层 |阅读模式
10金钱
写了一段代码
while(收到信号a)
{
    信号a置0;
    延迟一段时间t;
}
我的想法是,机器人收到红外信号a就前进,然后将信号a清零,给一段延时,这个是普通延时,我测了一下大概有3s,我的红外信号间隔是160ms左右,理论上3s可以收到20左右组的信号,所以只要机器人可以收到信号,可以一直前进,但是实际情况只进行了一个循环就出来了,红外接收头用示波器测量可以持续收到信号。
我的目的是检测机器人有没有出红外信号区区域。
求解

最佳答案

查看完整内容[请看2#楼]

仿真一下,分分钟出结果。 你这个while,信号a如果不是持续的,直接就出去了。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2018-3-20 22:44:18 | 显示全部楼层
仿真一下,分分钟出结果。 你这个while,信号a如果不是持续的,直接就出去了。
回复

使用道具 举报

12

主题

84

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1887
金钱
1887
注册时间
2015-4-21
在线时间
102 小时
发表于 2018-3-21 17:48:09 | 显示全部楼层
代码不能这么写
回复

使用道具 举报

9

主题

22

帖子

0

精华

新手上路

积分
46
金钱
46
注册时间
2016-12-29
在线时间
13 小时
 楼主| 发表于 2018-3-21 20:48:13 | 显示全部楼层

怎么写,请教一下,我也觉得我这样写有问题,就是万一延时的过程中没收到信号,那就判断是出了红外范围了。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 11:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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