hsiaochung 发表于 2013-8-12 11:02:50

求救 parallax MLX90614 Infrared Module

求救parallax MLX90614 Infrared Module

我使用 1.05 版 arduino , 可是以下程序代码
无法通过compile

我将 Temp90.print(0,BYTE); 修改成 Temp90.write(0);

可是还是无法成功

请问要如何解决


#include <SoftwareSerial.h>
SoftwareSerial Temp90(2, 3);
int LED=13;   /* for the show*/
int RESET=12;

void setup()
{
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(RESET,OUTPUT);

digitalWrite(RESET,HIGH);
delay(50);
digitalWrite(RESET,LOW);
delay(100);
digitalWrite(RESET,HIGH);

Temp90.begin(2400);
Serial.begin(115200);
delay(100);
Temp90.print(0,BYTE);
Temp90.print("!TEMc");
Temp90.print(0x5A,BYTE);
Temp90.print(7,BYTE);
digitalWrite(LED,HIGH);
delay(1000);
digitalWrite(LED,LOW);
pinMode(2,INPUT);
pinMode(3,INPUT);
delay(10);
}

//---------------------------------

void loop()
{
Acqu_Temp();

}

//----------------------------------

int Acqu_Temp()
{
static char rByte;
char rChar;
static int Read=0;
static int rcount=0;
int Temp1, Temp2, Temp3;

    rChar = Temp90.read();
    if (rChar == 'T') {
      rByte=rChar;
      rChar=Temp90.read();
      if(rChar=='E')
      {
          rByte=rChar;
          rChar=Temp90.read();
          if(rChar=='M')
          {
            rByte=rChar;
            rByte=Temp90.read();
            rByte=Temp90.read();
            rByte=Temp90.read();
            Temp1 = rByte + rByte*256;
            Temp2 = (Temp1/100);
            if (Temp1*2 < 27315) {
                Temp3 = ((27315-(Temp1*2))/100);
            }
            else
            Temp3 = (Temp1/100*2)-273;
            Serial.print("Temperature= ");
            Serial.print(Temp3,DEC);
            Serial.println(" Degrees Celsius");
          }
      }
    }
      digitalWrite(LED,HIGH);
      delay(500);
      digitalWrite(LED,LOW);
      delay(500);


}

页: [1]
查看完整版本: 求救 parallax MLX90614 Infrared Module