1
zzz22333 2023-10-10 19:25:18 +08:00
轮询读吧
|
2
mrzx 2023-10-10 19:37:56 +08:00
哈,最近刚在学嵌入式,红外线模块上应该有针脚可以调节的,看下硬件说明书.
红外线模块,普遍有 2 种触发方式的,一种是持续式的,用来检测是否在一直触发,一旦检测有人触发了,一直会处于高电平状态 可以判断对方的持续时间,就是人触发了红外线,一直在触发红外线的检测,可以用来检测和计算对方的触发时间 还有种是只持续触发一会,在过一会自动会变成低电平,这种方式可以用来检测对方触发的红外线次数,然后又触发,又变成高电平, |
3
mrzx 2023-10-10 19:38:30 +08:00
刚学嵌入式,以上都是我自己理解的,如果有说错的地方,希望大牛修正.
|
4
lrzsw2008 2023-10-11 09:41:41 +08:00
看传感器手册,如果能切换模式就切换传感器工作模式。
如果这个传感器只有这种工作模式那你要么换支持你所需要的模式的传感器,要么你自己这边代码换个方法来写。 另外如果你是担心现有的触发一次输出一次,你的程序没法及时捕捉到信号变化,可以考虑使用中断。如果程序所在设备比较复杂,你可以用红外挂在 STC8 、STM8 之类的廉价单片机上,这些单片机外部中断接红外,再有单片机转换成你需要的持续电平。 |
5
longmeier90 OP @zzz22333 我的程序就是循环读取的, 但是信号就发一次,就没有了。
|
6
koast 2023-10-11 10:40:11 +08:00 1
优先尝试用中断来捕捉和处理这个信号,如果由于某些原因不能这么做的话,那就外加个触发器芯片,把脉冲信号转换成电平信号就好了。
|