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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren