Compilatie syntax fout
8 berichten
• Pagina 1 van 1
Compilatie syntax fout
Ik probeer mijn SHT75 aan te sturen en heb een stukje code gevonden.
Er staat de volgende regel in:
Sensirion sht = Sensirion(dataPin, sclkPin);
De compiler struikelt hier over met de melding:
'Sensirion' does not name a type.
Wie weet wat ik hier niet goed doe?
Er staat de volgende regel in:
Sensirion sht = Sensirion(dataPin, sclkPin);
De compiler struikelt hier over met de melding:
'Sensirion' does not name a type.
Wie weet wat ik hier niet goed doe?
Advertisement
Re: Compilatie syntax fout
Het probleem is opgelost door de Sensirion lib te importeren.
Maar nu heb ik nog een hele berg andere fout meldingen.
Ze lijken op elkaar dus het zal wel uit 1 hoek komen.
Ik heb de volgende #includes er in staan:
#include <Sensirion.h>
#include <Wire.h>
#include <Arduino.h>
#include <WConstants.h>
Ik krijg deze fouten:
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:30:26: error: WConstants.h: No such file or directory
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In constructor 'Sensirion::Sensirion(uint8_t, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::meas(uint8_t, uint16_t*, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:147: error: 'delay' was not declared in this scope
en nog veel meer.
Wie kan me opweg helpen?
Wim
Maar nu heb ik nog een hele berg andere fout meldingen.
Ze lijken op elkaar dus het zal wel uit 1 hoek komen.
Ik heb de volgende #includes er in staan:
#include <Sensirion.h>
#include <Wire.h>
#include <Arduino.h>
#include <WConstants.h>
Ik krijg deze fouten:
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:30:26: error: WConstants.h: No such file or directory
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In constructor 'Sensirion::Sensirion(uint8_t, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::meas(uint8_t, uint16_t*, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:147: error: 'delay' was not declared in this scope
en nog veel meer.
Wie kan me opweg helpen?
Wim
Re: Compilatie syntax fout
dikke kans dat de library niet is aangepast aan de nieuwste Arduino-IDE.
Open de .h en .cpp file in wordpad (oid) en verander Program.h in Arduino.h
Hoop dat het werkt...
Open de .h en .cpp file in wordpad (oid) en verander Program.h in Arduino.h
Hoop dat het werkt...
Re: Compilatie syntax fout
In zowel Sensirion.h als i Sensirion.cpp komen program.h en arduino.h niet voor.
Re: Compilatie syntax fout
Probeer eens om bij de 4 includes die met Arduino.h bovenaan te zetten
If you think education is expensive, try ignorance! (Derek Bok)
Re: Compilatie syntax fout
Dan krijg ik dit:
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:30:26: error: WConstants.h: No such file or directory
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In constructor 'Sensirion::Sensirion(uint8_t, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::meas(uint8_t, uint16_t*, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:147: error: 'delay' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:148: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'bool Sensirion::measRdy()':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:165: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::readSensorRaw(unsigned int*, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:213: error: 'delay' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:214: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::putByte(uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:235: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:235: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:239: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:239: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:241: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:241: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:243: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:243: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:244: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:245: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:250: error: 'INPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:252: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:252: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:253: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:254: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:258: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::readByte(uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:268: error: 'INPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:268: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:271: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:271: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:272: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:273: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:276: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:280: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:283: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:283: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:285: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:285: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:287: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:287: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:288: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:289: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'void Sensirion::startTransmission()':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:310: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:310: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:311: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:311: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:312: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:313: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:327: error: 'INPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'void Sensirion::resetConnection()':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:341: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:341: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:342: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:342: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:343: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:347: error: 'delayMicroseconds' was not declared in this scope
Ik zal de complete source er nog even bij doen
===================================================================================
#include <Arduino.h>
#include <Sensirion.h>
const uint8_t dataPin = 9; // SHT serial data
const uint8_t sclkPin = 8; // SHT serial clock
const uint8_t ledPin = 13; // Arduino built-in LED
const uint32_t TRHSTEP = 5000UL; // Sensor query period
const uint32_t BLINKSTEP = 250UL; // LED blink period
Sensirion sht = Sensirion(dataPin, sclkPin);
uint16_t rawData;
float temperature;
float humidity;
float dewpoint;
byte ledState = 0;
byte measActive = false;
byte measType = TEMP;
unsigned long trhMillis = 0; // Time interval tracking
unsigned long blinkMillis = 0;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate blocking calls
sht.measTemp(&rawData); // sht.meas(TEMP, &rawData, BLOCK)
temperature = sht.calcTemp(rawData);
sht.measHumi(&rawData); // sht.meas(HUMI, &rawData, BLOCK)
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
void loop() {
unsigned long curMillis = millis(); // Get current time
// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}
// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
sht.meas(TEMP, &rawData, NONBLOCK); // Start temp measurement
trhMillis = curMillis;
}
if (measActive && sht.measRdy()) { // Note: no error checking
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
sht.meas(HUMI, &rawData, NONBLOCK); // Start humidity measurement
} else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
}
void logData() {
Serial.print("Temperature = "); Serial.print(temperature);
Serial.print(" C, Humidity = "); Serial.print(humidity);
Serial.print(" %, Dewpoint = "); Serial.print(dewpoint);
Serial.println(" C");
}
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:30:26: error: WConstants.h: No such file or directory
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In constructor 'Sensirion::Sensirion(uint8_t, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:86: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::meas(uint8_t, uint16_t*, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:147: error: 'delay' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:148: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'bool Sensirion::measRdy()':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:165: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::readSensorRaw(unsigned int*, uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:213: error: 'delay' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:214: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::putByte(uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:235: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:235: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:239: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:239: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:241: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:241: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:243: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:243: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:244: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:245: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:250: error: 'INPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:252: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:252: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:253: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:254: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:258: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'uint8_t Sensirion::readByte(uint8_t)':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:268: error: 'INPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:268: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:271: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:271: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:272: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:273: error: 'digitalRead' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:276: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:280: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:283: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:283: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:285: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:285: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:287: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:287: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:288: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:289: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'void Sensirion::startTransmission()':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:310: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:310: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:311: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:311: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:312: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:313: error: 'delayMicroseconds' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:327: error: 'INPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp: In member function 'void Sensirion::resetConnection()':
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:341: error: 'LOW' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:341: error: 'digitalWrite' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:342: error: 'OUTPUT' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:342: error: 'pinMode' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:343: error: 'HIGH' was not declared in this scope
C:\Users\Wim\Desktop\arduino-1.5.2\libraries\Sensirion\Sensirion.cpp:347: error: 'delayMicroseconds' was not declared in this scope
Ik zal de complete source er nog even bij doen
===================================================================================
#include <Arduino.h>
#include <Sensirion.h>
const uint8_t dataPin = 9; // SHT serial data
const uint8_t sclkPin = 8; // SHT serial clock
const uint8_t ledPin = 13; // Arduino built-in LED
const uint32_t TRHSTEP = 5000UL; // Sensor query period
const uint32_t BLINKSTEP = 250UL; // LED blink period
Sensirion sht = Sensirion(dataPin, sclkPin);
uint16_t rawData;
float temperature;
float humidity;
float dewpoint;
byte ledState = 0;
byte measActive = false;
byte measType = TEMP;
unsigned long trhMillis = 0; // Time interval tracking
unsigned long blinkMillis = 0;
void setup() {
Serial.begin(9600);
pinMode(ledPin, OUTPUT);
delay(15); // Wait >= 11 ms before first cmd
// Demonstrate blocking calls
sht.measTemp(&rawData); // sht.meas(TEMP, &rawData, BLOCK)
temperature = sht.calcTemp(rawData);
sht.measHumi(&rawData); // sht.meas(HUMI, &rawData, BLOCK)
humidity = sht.calcHumi(rawData, temperature);
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
void loop() {
unsigned long curMillis = millis(); // Get current time
// Rapidly blink LED. Blocking calls take too long to allow this.
if (curMillis - blinkMillis >= BLINKSTEP) { // Time to toggle the LED state?
ledState ^= 1;
digitalWrite(ledPin, ledState);
blinkMillis = curMillis;
}
// Demonstrate non-blocking calls
if (curMillis - trhMillis >= TRHSTEP) { // Time for new measurements?
measActive = true;
measType = TEMP;
sht.meas(TEMP, &rawData, NONBLOCK); // Start temp measurement
trhMillis = curMillis;
}
if (measActive && sht.measRdy()) { // Note: no error checking
if (measType == TEMP) { // Process temp or humi?
measType = HUMI;
temperature = sht.calcTemp(rawData); // Convert raw sensor data
sht.meas(HUMI, &rawData, NONBLOCK); // Start humidity measurement
} else {
measActive = false;
humidity = sht.calcHumi(rawData, temperature); // Convert raw sensor data
dewpoint = sht.calcDewpoint(humidity, temperature);
logData();
}
}
}
void logData() {
Serial.print("Temperature = "); Serial.print(temperature);
Serial.print(" C, Humidity = "); Serial.print(humidity);
Serial.print(" %, Dewpoint = "); Serial.print(dewpoint);
Serial.println(" C");
}
Re: Compilatie syntax fout
Opgelost, het was een mix van het Arduino OS en de oude incli=ude files die niet matchten. Arduino.h en Wprograms.h
8 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: jfh en 10 gasten