楼主的程序我编译不了,于是自己把它改到[pre lang="arduino" line="1" ]#include “Arduino.h”
#include <IRremote.h>
#include <IRremoteInt.h>
//#include <Gree.h>
IRsend irsend;
volatile boolean flag;
extern IRsend irsend;
//#define DEBUG 1
// void setstate(byte mode, byte fan, byte temp, byte power);
void test();
void sendpresumable();
void send0();
void send1();
void sendGree(byte ircode, byte len);
void sendpresumable()
{
irsend.mark(9000);
irsend.space(4500);
}
void send0()
{
irsend.mark(560);
irsend.space(565);
}
void send1()
{
irsend.mark(560);
irsend.space(1690);
}
//
void sendGree(byte ircode, byte len)
{
byte mask = 0×01;
for(int i = 0;i < len;i++)
{
if (ircode & mask)
{
send1();
}
else
{
send0();
}
mask <<= 1;
}
}
void test()
{
irsend.enableIROut(38);
sendpresumable();
sendGree(0×49, 8);
sendGree(0x0A, 8);
sendGree(0×60, 8);
sendGree(0×50, 8);
sendGree(0×02, 3);
irsend.mark(560);
irsend.space(10000);
irsend.space(10000);
sendGree(0×01, 8);
sendGree(0×20, 8);
sendGree(0×00, 8);
sendGree(0xF4, 8);
irsend.mark(560);
irsend.space(0);
}
void trig()
{
flag = true;
}
void setup()
{
Serial.begin(9600);
flag = false;
pinMode(2,INPUT_PULLUP);
// attachInterrupt(0, trig, FALLING);
}
void loop()
{
int val = digitalRead(2);
if (val == 0)
{
test();
delay(2000);
// flag = false;
}
}
[/code]一个工程里面 |