Pages: [1]   Go Down
Author Topic: Nur Fehlermeldungen ?  (Read 1052 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hallo
 Verwende Arduino 1.0.1 unter Windows.
Egal welche Beispiele ich aus dem Forum oder Hersellerseiten verwende. Ich bekomme nur Fehlermeldungen.
Z.B.(beim LCD Key Shield)

Key_Grab.cpp.o: In function `__static_initialization_and_destruction_0':
C:\Temp\build4488143314118283572.tmp/Key_Grab.cpp:31: undefined reference to `DFR_Key::DFR_Key()'
Key_Grab.cpp.o: In function `loop':
C:\Temp\build4488143314118283572.tmp/Key_Grab.cpp:65: undefined reference to `DFR_Key::getKey()'
Key_Grab.cpp.o: In function `setup':
C:\Temp\build4488143314118283572.tmp/Key_Grab.cpp:50: undefined reference to `DFR_Key::setRate(int)'

Wie grenzt man seine Fehlersuche sinnvoll ein? Wie geht man strukturiert vor? Muss jeder die selben Fehler immer wieder machen ?

Danke
Logged

Hamburg, Germany
Offline Offline
Sr. Member
****
Karma: 6
Posts: 291
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Meine Kristallkugel ist grad etwas vernebelt, aber kann es sein, dass die library nicht included ist?
Logged


Forum Moderator
BZ (I)
Offline Offline
Brattain Member
*****
Karma: 271
Posts: 21879
+39 349 2158303
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

@nikolaus10
Bitte genaue Bezeichnung welchen Arduino und welche Shield Du verwendest, die Link der verwendeten Beispiele und Bibliotheken. Sind das alle Fehlermeldungen oder sind noch einige versteckt (Fenster vergrößern)

@markbee  stielst Du mir meine kleinen Sticheleien?
Grüße Uwe
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke fuer die Antwort.

ich verwende die Beispiel so wie sie angegen sind.
Der Code fuer den Arduino lautet:
Code:
/*
Sainsmart LCD Shield for Arduino
Key Grab v0.2
Written by jacky

www.sainsmart.com

Displays the currently pressed key on the LCD screen.

Key Codes (in left-to-right order):

None   - 0
Select - 1
Left   - 2
Up     - 3
Down   - 4
Right  - 5

*/

#include <LiquidCrystal.h>
#include <DFR_Key.h>

//Pin assignments for SainSmart LCD Keypad Shield
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);
//---------------------------------------------

DFR_Key keypad;

int localKey = 0;
String keyString = "";
                 
void setup()
{
  lcd.begin(16, 2);
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("Key Grab v0.2");
  delay(2500);
 
  /*
  OPTIONAL
  keypad.setRate(x);
  Sets the sample rate at once every x milliseconds.
  Default: 10ms
  */
  keypad.setRate(10);

}

void loop()
{
  /*
  keypad.getKey();
  Grabs the current key.
  Returns a non-zero integer corresponding to the pressed key,
  OR
  Returns 0 for no keys pressed,
  OR
  Returns -1 (sample wait) when no key is available to be sampled.
  */
  localKey = keypad.getKey();
 
  if (localKey != SAMPLE_WAIT)
  {
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Current Key:");
    lcd.setCursor(0, 1);
    lcd.print(localKey);
  }
}


Die Folder  fuer DFR_Key sind auch angelegt.
KR
 
Logged

Germany
Online Online
Faraday Member
**
Karma: 59
Posts: 3071
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
Die Folder  fuer DFR_Key sind auch angelegt
... und dort ist sicher eine .cpp Datei, in der z.B. irgendwo 
public:
...
   DFR_Key::DFR_Key()
   {
    ...
   }


 steht.

Nun, dann findet die IDE diesen Folder nicht.

Wenn du in der IDE Sketch/Library Importieren anwählst, wird dann deine DFR_Key Library aufgelistet ?
Diese Liste fängt normalerweise mit 'EEPROM' an und hört mit 'Wire' auf. Wenn DFR_Key dabei ist, einfach mal importieren.
Wenn nicht, Den Folder nach  arduino-1.0.1\libraries  oder wo immer die anderen Libraries sind, kopieren.

Quote
Wie grenzt man seine Fehlersuche sinnvoll ein? Wie geht man strukturiert vor?
Ich versuche, die Fehlermeldungen zu verstehen, und zu raten was sie bedeuten smiley-wink
Grundsätzliche Fehler verursachen oft viele Meldungen, da reicht es oft, nur die erste zu verstehen (und zu beheben)

In deinem Fall
... Key_Grab.cpp:31: undefined reference to `DFR_Key::DFR_Key()'

ist vermutlich Key_Grab.ino deine Datei, an die die IDE am Anfang ein paar Zeilen anfügt, und dann in Key_Grab.cpp umbenennt, so dass :31 nur ungefähr die Zeilennummer ist.   
DFR_Key::DFR_Key() ist der Constructor, der in deiner Zeile
DFR_Key keypad; verwendet wird, den es (lt. include Datei <DFR_Key.h>) so auch geben sollte, aber nun leider doch nicht gibt, jedenfalls nicht in der Liste der Dateien, die zu deinem Projekt dazugehören.

Logged

Germany / Düsseldorf
Offline Offline
Newbie
*
Karma: 0
Posts: 11
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Damit hatte ich mich auch schon mal rumgeplagt,das Programm ist relativ dürftig und wenns lief wurds nicht ordentlich dargestellt (Display flimmerte weils langsamer war als "clear" und neues schreiben). und die Libary nutze ich nicht mehr. Ich hab mir einfach eine eigene kleine auswertung geschrieben für die Tastenauswertung.

Ich muss später nochmal bei mir reinschauen was genau ich gemacht hab
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 8
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Danke fuer die bisherigen Antworten.

Es fustriert nur, wenn man einfache Beispiele aus dem Netzt nimmt und die dann verda..t nochmal nicht funktionieren.

KR
Logged

Pages: [1]   Go Up
Jump to: