Arduino DUE und Bounce2 Library

Hallo Ihr alle,

habe ein Sketch mit der Bounce2 Library zum entprellen der Taster mit meinem Arduino UNO getestet. Dort hat diese auch wunderbar funktioniert.
Nach dem ich das Sketch auf meinen Arduino DUE versucht habe hochzuladen wurde mir allerdings folgender Fehler ausgegeben:

A:\Jan\Dokumente\Arduino\libraries\Bounce2\Bounce2_old.cpp: In member function 'bool Bounce::fell()':
A:\Jan\Dokumente\Arduino\libraries\Bounce2\Bounce2_old.cpp:126:42: error: '_BV' was not declared in this scope
     return !( state & _BV(DEBOUNCED_STATE) ) && ( state & _BV(STATE_CHANGED));
                                          ^
Fehler beim Kompilieren.

Habe mich zu diesem Fehler auch schon im Internet schlau gemacht und habe folgende Aussage in einem Forum gefunden:

Thanks for the Bounce library.
I am working with a Due board and discovered that the _BV macro used for this library is not defined in the Due’s libraries.
It’s a simple macro, so I just added it to the Bounce2.cpp:
#ifndef _BV
#define _BV(x) (1 << (x))
#endif
There is probably a more „correct“ way to check if the target board is a Due, but this worked just fine.
-Tyler

Ich habe das hinzufügen dieser drei Zeilen Quelltext in der Bounce2.cpp versucht. Leider ohne erfolg.

Könnt Ihr mir dabei helfen das hinzubekommen, dass die Bounce2 Library unter dem Board DUE läuft?
Wäre euch echt dankbar, sind doch einige Taster die zu entprellen sind :wink:

Viele Grüße
kleiner_kaktus

Hallo,

mit dem Arduino kenne ich mich nicht aus, aber die Fehlermeldung bezieht sich auf die Bounce2_old.cpp, und du schreibst, du hättest den Quelltext der Bounce2.cpp erweitert. Hast du überhaupt zwei Dateien, Bounce2 und Bounce2_old, und wenn ja, warum? „old“ hört sich nach einer veralteten Version an.

Gruß
Christa

Hallo Christa,

danke für deine Antwort und deine Hilfe.

Das die Datei …old.cpp heisst war mein versehen, diese war eigentlich als Backup gedacht. Warum die Library auf diese Datei zurück gegriffen hat ist für mich nicht nachvollziehbar.

Inzwischen habe ich mein Problem allerdings lösen können. Habe die Quelltexterweiterung an der falschen Stelle eingefügt. Jetzt funktioniert alles :smile:

Trotzdem noch einmal vielen Dank!

Grüße
kleiner_kaktus

Na dann herzlichen Glückwunsch! :smile: