Objekte werden nicht erkannt

OP #7109704
Lesenswert?
• ▲
▼
Moin Moin oder wat,

ich komme gerade beim Programmieren nicht weiter..

Ich möchte einen Arduino Nano Every mit einer main.cpp, einer start.cpp 
und einer start.h Datei programmieren.
Jetzt stehe ich allerdings vor einem Problem. Wenn ich ein Objekt in der 
main.cpp Datei erstelle und dort eine Funktion aus der start.cpp Datei 
aufrufe, dann spuckt der Compiler einen Fehler aus:

*start.cpp: 9:2: error: 'servo1' was not declared in this scope*

Muss ich das Objekt Servo1 irgendwie an die Funktionen übergeben?
1
-------------main.cpp-----------------
2
#include "start.h"
3
#include "servo.h"
4

5
Servo servo1;
6

7
void setup()
8
{
9
  servo1.attach(14);
10
}
11

12

13
---------start.cpp-------------------
14
#include "start.h"
15

16
void servorotate(int deg)
17
{
18
  servo1.write(deg);
19
  delay(230);
20
}
21

22

23
---------start.h--------------
24
#ifndef start_h
25
#define start_h
26

27
void servorotate(int deg);
28

29
#endif
Beitrag #7109708 wurde von einem Moderator gelöscht.
Beitrag #7109717 wurde von einem Moderator gelöscht.
Gast #7109726
Lesenswert?
• ▲
▼
Dir fehlt eine Zeile.

In meinen Beispielcode aus einen Buch heisst es.

Servo Servomotor;  // erstellt Objekt "Servomotor" aus der Klasse 
"Servo".

int Sensorwert;
bytes servowinkel;

Ich gebe zu das ich das abgetippt habe, aus eine Fachbuch, da ich selbst 
keine Servos besitze.

Hier das Buch : 
https://www.thalia.de/shop/home/artikeldetails/A1056176041

Wenn du es kaufst, gibt es das Ebuch gratis. Und es ist WIRKLICH 
empfehlenswert.
#7109848
Lesenswert?
• ▲
▼
Bleib bei deinem Basic, aber versuche bitte nicht Cpp zu lehren.
.h steht für header.
Und die Zweite Funktion kommt dann in zwei.cpp? Und wenn die Reihenfolge 
im main mal geändert wird und Start nicht mehr Start ist?
In Start.h ist bis jetzt eine Servofunktion drin, da sollen wohl noch 
mehr rein. Also wären es zb ServoFunctions.cpp/h.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.