Go Down

Topic: MS6511 Objekt erzeugen funktioniert nicht (Read 87 times) previous topic - next topic

SuesseKleineMaus

Hallo Leute,

Ich kriege folgende Fehlermeldung mit der ich nichts anfangen kann:
Code: [Select]










Altimeter_MS5607_Test_4:7: error: no matching function for call to 'MS5611::MS5611()'

 MS5611 ms5611; //Erzeuge Drucksensor-Objekt

        ^

D:\me\Documents\Arduino\Altimeter_MS5607_Test_4\Altimeter_MS5607_Test_4.ino:7:8: note: candidates are:

In file included from D:\me\Documents\Arduino\Altimeter_MS5607_Test_4\Altimeter_MS5607_Test_4.ino:1:0:

D:\me\Documents\Arduino\libraries\MS5611/MS5611.h:29:5: note: MS5611::MS5611(uint8_t)

     MS5611(uint8_t deviceAddress);

     ^

D:\me\Documents\Arduino\libraries\MS5611/MS5611.h:29:5: note:   candidate expects 1 argument, 0 provided

D:\me\Documents\Arduino\libraries\MS5611/MS5611.h:26:7: note: constexpr MS5611::MS5611(const MS5611&)

 class MS5611

       ^

D:\me\Documents\Arduino\libraries\MS5611/MS5611.h:26:7: note:   candidate expects 1 argument, 0 provided

D:\me\Documents\Arduino\libraries\MS5611/MS5611.h:26:7: note: constexpr MS5611::MS5611(MS5611&&)

D:\me\Documents\Arduino\libraries\MS5611/MS5611.h:26:7: note:   candidate expects 1 argument, 0 provided

D:\me\Documents\Arduino\Altimeter_MS5607_Test_4\Altimeter_MS5607_Test_4.ino: In function 'void ms5611_setup()':

Altimeter_MS5607_Test_4:12: error: 'class MS5611' has no member named 'begin'

   while(!ms5611.begin()) {

                 ^

D:\me\Documents\Arduino\Altimeter_MS5607_Test_4\Altimeter_MS5607_Test_4.ino: In function 'void loop()':

Altimeter_MS5607_Test_4:23: error: 'readTemperature' was not declared in this scope

   temperature = readTemperature();

                                 ^

exit status 1
no matching function for call to 'MS5611::MS5611()'


Hier mal der code:
Code: [Select]
#include <MS5611.h>
#include <Wire.h>

double pressure;
double temperature;

MS5611 ms5611; //Erzeuge Drucksensor-Objekt

void ms5611_setup() {
//  MS5611 Setup Routine
//  Initialisierung des MS5611 Sensors
  while(!ms5611.begin()) {
    delay(500);
  }
}

void setup() {
  Serial.begin(9600);
  ms5611_setup();
}

void loop() {
  temperature = readTemperature();
  // temperature = ms5611.readTemperature();
  // pressure = ms5611.readPressure();
  Serial.println(temperature);
  Serial.println(pressure);
  delay(10000);
}


Muss die Objektdefinition in der MS5611.h vorhanden sein?
Ich habe mehrere Quellen zu diesem library gefunden.
Deswegen bin ich mir nicht sicher, ob code und lib zusammenpassen.
Und wie müsste eine derartige Objektdefinition in der lib aussehen?
...

vieledinge

Du versuchst eine Klasse MS5611 zu instanzieren, deren Konstruktor keine Parameter hat (MS5611()).

Die Klasse in Deiner Bibliothek erwartet aber einen Parameter: MS5611(uint8_t deviceAddress);


Oder kurz: Die arme Sau von Library möchte einfach noch wissen über welche Adresse sie mit dem Sensor kommunizieren soll.


SuesseKleineMaus

Ah Interessant!
Danke für den Tipp. Ich versuch's mal.  :)
...

SuesseKleineMaus

Alles klar, es läuft.
Es lag am Library.
...

Whandall

Es lag am Library.
Nein. Es lag daran dass der Benutzer der Library sich nicht informiert hat wie sie funktioniert.
Ah, this is obviously some strange usage of the word 'safe' that I wasn't previously aware of. (D.Adams)

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy