Objekte werden nicht erkannt

OP #7109704
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
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
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.
Gast #7109909
J. S. schrieb:
> Bleib bei deinem Basic, aber versuche bitte nicht Cpp zu lehren.
> .h steht für header.

Ich habe auch START.h geschrieben. Der Name unten den ich das kenne ist 
MAIN.h . Und da stimmt meine Aussage.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 4 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.