小编Ant*_*nio的帖子

Arduino protothreads的一些问题

我正在做一个关于控制两个传感器(超声波和红外线)的项目,用Arduino管理它们.该IR接收器有一个过滤器系统内,所以它在接收到36千赫的频率.我使用模块srf04来处理超声波的东西.如果我做一个必须只控制一个传感器的程序,它就可以工作.但我必须将两个信号插入到一个结果中.所以我使用了protothreads!但它不起作用......错误是什么?

这是代码:

#include <pt.h>

int iro = 8, iri = 4, us = 12, distanza, us_vcc = 13, ir_vcc = 7;
long durata;

static struct pt pt1, pt2, pt3;

static int irthread(struct pt *pt) {
  PT_BEGIN(pt);
  while(1) {
    PT_WAIT_UNTIL(pt, 1>0);
    digitalWrite(iro, HIGH);
    delayMicroseconds(9);
    digitalWrite(iro, LOW);
    delayMicroseconds(9);
  }
  PT_END(pt);
}

static int usthread(struct pt *pt) {
  static unsigned long timer = 0;
  PT_BEGIN(pt);
  while(1) {
    PT_WAIT_UNTIL(pt, millis() - timer > 200);
    timer = millis();
    pinMode(us, OUTPUT);
    digitalWrite(us, LOW);
    delayMicroseconds(5); …
Run Code Online (Sandbox Code Playgroud)

pthreads arduino sensor infrared

8
推荐指数
1
解决办法
6823
查看次数

标签 统计

arduino ×1

infrared ×1

pthreads ×1

sensor ×1