Go Down

Topic: Problem beim Übersetzen. error: WProgram.h \Debounce.cpp (Read 868 times) previous topic - next topic

niklas87

Hey,
ich habe ein Programm mit der Debounce Libary und bekomme immer folgemnden Fehler beim Übersetzen.
Ich habe leider kaum Erfahrung und weiss nicht wie ich dieses Problem lösen kann.



D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp:2:22: error: WProgram.h: No such file or directory
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp: In constructor 'Debounce::Debounce(long unsigned int, uint8_t)':
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp:9: error: 'millis' was not declared in this scope
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp:10: error: 'digitalRead' was not declared in this scope
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp: In member function 'void Debounce::write(int)':
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp:18: error: 'digitalWrite' was not declared in this scope
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp: In member function 'int Debounce::update()':
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp:28: error: 'digitalRead' was not declared in this scope
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp:30: error: 'millis' was not declared in this scope

MFG

michael_x

Ist die Debounce library noch alt ?
WProgram.h heisst jetzt  ( seit 1.0 die 0.23 abgelöst hat)  Arduino.h

Wofür nennt UWE denn seinen sticky Thread FAQ

niklas87

#2
Jan 27, 2013, 03:38 pm Last Edit: Jan 27, 2013, 09:17 pm by uwefed Reason: 1
Danke für die schnelle Antwort!

Also das habe ich auch schon gelesen.
Ich müsste doch dann in der debounce.h die änderung vornehmen.
Doch dort steht nur folgendes:

Code: [Select]
#ifndef Debounce_h
#define Debounce_h

#include <inttypes.h>

class Debounce
{

public:
 Debounce(unsigned long interval_millis, uint8_t pin );
 void interval(unsigned long interval_millis);
 int update();
 int read();
 // Contributed by Jim Schimpf
 void write(int new_state);
 
private:
 unsigned long  previous_millis, interval_millis;
 uint8_t state;
 uint8_t pin;
};
#endif

Steh irgendwie auf dem Schlauch. sorry

Addi

Dass müsste dann so aussehen:
Code: [Select]

#ifndef Debounce_h
#define Debounce_h
#if defined(ARDUINO) && ARDUINO >= 100 //100 wie IDE 1.00
  #include "Arduino.h"
  #else
  #include "WProgram.h"
  #endif
#include <inttypes.h>

class Debounce
{

public:
  Debounce(unsigned long interval_millis, uint8_t pin );
  void interval(unsigned long interval_millis);
  int update();
  int read();
  // Contributed by Jim Schimpf
  void write(int new_state);
 
private:
  unsigned long  previous_millis, interval_millis;
  uint8_t state;
  uint8_t pin;
};

#endif

Ansonsten lade dir einfach eine ältere IDE herunter.

Addi
/ \    _|  _| o
 /--\ (_| (_| |

niklas87

das habe ich davor auch schon versucht.
Das bringt leider auch nichts...
ich habe es jetzt mit einer alten Version geöffnet, dass hat funktioniert.
Jedoch würde ich es trotzdem gerne mit einer neuen IDE zum laufen bringen.
MFG

Addi

Evtl. muss der Code auch in die Debounce.cpp . Bin mir da nicht sicher. Am einfachsten ist es,
wenn du einen Editor nimmst und WProgram.h durch Arduino.h in allen Dateien ersetzen lässt.

Addi
/ \    _|  _| o
 /--\ (_| (_| |

michael_x

Quote
Debounce.cpp:2:22: error: WProgram.h: No such file or directory


Das ist keine Frage von "eventuell". Das steht so in Zeile 2 deiner Datei
D:\Projekte\Arduino Board\arduino-1.0.1\libraries\Debounce\Debounce.cpp

dort solltest du es korrigieren, fertig ist die Anpassung an die aktelle IDE ( hoffe ich mal )

niklas87


Go Up