ba1083
1
Hallo nochmal an alle
Nach unzähligen versuchen eine Librarie zu erstellen ,
weis ich mir keinen anderen rat mehr als nochmals um hilfe zu bitte.
Ich habe das Beispiel Librarie "Blinken" versucht auf meine Librarie anzuwenden.
Und die Schlagwörter habe ich aus der Orginal Librarie verwendet.
Jetzt kommt aber die Fehlermeldung:
lcd:16: error: 'Logo' was not declared in this scope
Logo ();
Könnte mir mal Bitte einer sagen warum er diese Fehlermeldung bringt.
die *.h Datei
lcd.h Datei
#ifndef lcd_h
#define lcd_h
#include "Arduino.h"
//#include <I2C_graphical_LCD_display.h>
//I2C_graphical_LCD_display lcd;
class lcd
{
public:
lcd();
void Logo();
private:
byte _chipSelect; // currently-selected chip (LCD_CS1 or LCD_CS2)
byte _lcdx; // current x position (0 - 127)
byte _lcdy; // current y position (0 - 63)
};
#endif // lcd_h
die *.cpp Datei
#include "Arduino.h"
#include "lcd.h"
#include "Wire.h"
#include "SPI.h"
lcd::setPixel(const byte x,
const byte y,
const byte val)
{
gotoxy (x, y);
byte c = readData ();
if (val)
c |= 1 << (y & 7); // set pixel
else
c &= ~(1 << (y & 7)); // clear pixel
gotoxy (x, y);
writeData (c);
} // endif
die *.ino Datei
#include <lcd.h>
#include <Wire.h>
#include <SPI.h>
#include "Arduino.h"
#include <I2C_graphical_LCD_display.h>
I2C_graphical_LCD_display lcd;
void setup() {
Serial.begin(9600);
lcd.begin (0x20);
Wire.begin();
}
void loop() {
Logo ();
}
Danke Stefan
Tommy56
2
Weil es keine Funktion Logo() gibt, sondern nur eine Methode Logo() des Objects lcd. (Klassen sollte man groß schreiben).
Wir brauchen also ein Object vom Typ lcd:
lcd myLcd;
...
myLcd.Logo();
Solche Grundlagen sollte man sich aber anschauen, bevor man eine Lib baut.
Gruß Tommy
ba1083
3
Hallo Tommy56
Der link mit den Grundlagen geht leider nicht
Danke Stefan
Tommy56
4
Das ist kein Link, sondern nur eine Unterstreichung. Ist Dein Google defekt?
Suche nach: c++ Grundlagen
Gruß Tommy
Das ist kein Link, sondern nur eine Unterstreichung
Du bist so fies.
Hätte mich aber auch interessiert, auf was du beim Wort bevor verlinkst.
Ist zwar unüblich hier, aber man kann auch Libraries schreiben, ohne dort eigene Klassen zu definieren.
Mich wundert übrigens, dass in der .cpp Datei
lcd::setPixel
nicht angemeckert wird.
ISO C++ forbids declaration of 'setpixel' with no type
sketch_feb16b:5: error: no 'int lcd::setpixel(char)' member function declared in class 'lcd'
ba1083
6
Hallo Tommy56
Punkt 1
Ich habe seit ich den Anbieter für mein Telefon und Internet gewechselt habe massive Probleme mit
Suchergebnissen und Werbung. Habe mir schon aus Verzweiflung eine Add Blocker installiert. Weil ich sonst
von Werbung erschlagen werde. Laut Add Blocker bekomme ich biss zu 330 unterdrückte Werbungen pro
Seitenaufruf. Und deswegen dachte das ein Link ist. Sorry mein Fehler.
Hallo michael_x
Punkt 2
Er meckert das lcd::setPixel nicht an.
Punkt 3
Ich komme aus einen ganz anderen Bereich , ich kann zwar Programmieren.
Aber nur CNC Fräßmaschien und wird heutzutage alles über den PC gemacht.
Punkt 4
Ich bin "absoluter Laie" was Arduino b.z.w C++ Programmieren angeht.
Was für einen Programmier selbstverständlich ist muss sich ein Laie erarbeiten.
Weil er ganz einfach das nicht weis.
Danke Stefan
Hi!
Tommy schreibt ja schon, was die Ursache des Fehlers ist. Falls Du noch ein Beispiel für eine Bibliothek suchst, hilft vielleicht das hier.
Gruß
Gergor
ba1083:
massive Probleme mit
Suchergebnissen und Werbung. Habe mir schon aus Verzweiflung eine Add Blocker installiert. Weil ich sonst
von Werbung erschlagen werde. Laut Add Blocker bekomme ich biss zu 330 unterdrückte Werbungen pro
Seitenaufruf.
Das sieht mir nach einem Befall mit Schadsoftware aus.
Versuch mal die kostenfreie Version von http://superantispyware.com/. (Das ist jetzt wirklich ein Link. )
Das Programm funktioniert recht gut mit nicht allzu hartnäckigen Gegnern.
ba1083
9
Hallo Whandall
Die Idee hatte ich auch schon , habe aber über Boot CD mit Antivirus Software den Rechner getest .
Laut Antivirus Software kein fremder Virus drauf.
Und ich habe schon seit Jahren F Secure und noch keine Probleme mit einem Virus auf dem Computer.
Danke Stefan
Ach so, ich dachte du wolltest das Problem loswerden.
Malware / Spam-Schleudern sind nicht direkt Viren, sie stecken nicht an,
du hast den Kram (wenn vorhanden) durch unbedachtes Klicken installiert.
Und was hast du zu verlieren?
Das Programm ist kostenfrei/virenfrei und ich habe in den letzten Jahren damit keine Probleme gehabt.
Aber du musst mir ja nicht glauben...
ba1083
11
Hallo Whandall
Das sollte keine Kritik sein, werde es mal ausprobieren .
Nur mal zur INFO :
Ich habe den Add Blocker vor ca 3 Monaten aktiviert.
Biss jetzt hat der Add Blocker auf meine Computer 310500 blockierte Anfragen ünterdrückt.
Auf meine Sohn seine Computer sind es sogar 356000 blockierte Anfragen .
Und das ist doch nicht normal oder.
Danke Stefan
Keine Ahnung wo man das nachsehen kann, aber es erscheint mir auch relativ hoch.
Kommt natürlich auch sehr darauf an, wo man surft. 8)
Leicht holt man sich die Werbedinger auch als Zugabe/Buttons/Taskleisten/Suchhelfer/etc. beim Installieren ansonsten unbedenklicher Software.
ba1083
13
Hallo Whandall
Mein Browser ist Mozzial Firefox und da gibt es Add das uBlock Origin heist.
Das habe ich über die Add Bar "sag ich jetzt mal so " aufgerufen.
Über die 3 Striche die oben rechts unter dem Kreuz sind zum schliesen vom Fenster. (Menü)
und da im Menü Add ons. Da habe ich das dann gefunden.
Sonst würde ich wahrscheinlich wahnsinnig werden vor lauter Werbung.
Was ich noch sagen muss ist das das bei dem alten Anbieter nicht der Fall war.
Danke Stefan
AdBlock Plus beseitigt fast alles