Problem mit dem Auslagern von Funktionen

OP #6746088
Lesenswert?

Hallo zusammen,

ich bin grade dabei mich mit dem Umgang von Funktionen vertraut zu 
machen. Um den Code kürzer halten zu können und ggf. Funktionen in 
anderen Programmen wieder verwenden zu können, wollte ich diese in einer 
externen c-datei auslagern.
Dafür sollte eine einfache Funktion "berechne", die zwei Werte 
multipliziert, ausgelagert werden.
Mein Vorgehen:

Main:
1
#include <avr/io.h>
2
#include "berechne.h"
3

4
int main(void)
5
{
6
    uint8_t Ergebnis = 0, a = 12, b = 2;
7
    while (1) 
8
    {
9
    berechne(&Ergebnis, a, b);
10
    }
11
}
.c-Datei:
1
void berechne(uint8_t *p_Ergebnis, uint8_t x, uint8_t y){
2
  *p_Ergebnis = x*y;
3
}
.h-Datei:
1
#ifndef BERECHNE_H_
2
#define BERECHNE_H_
3

4
void berechne(uint8_t *p_Ergebnis, uint8_t x, uint8_t y);
5

6
#endif /* BERECHNE_H_ */


Im Anhang habe ich Screenshots von der Fehlermeldung und dem Code 
hinterlegt. Hat irgendwer eine Idee woran es liegen könnte?
Angehängte Dateien:
Gast #6746274
Lesenswert?

Nächstes mal Quelltext bitte als Text posten, nicht als Screenshot. 
Screenshots sind meistens unvollständig und man kann den Text nicht 
heraus kopieren um das Problem nachzuvollziehen.

Es wurden auch schon Anhänge und ZIP Dateien erfunden.
Gast #6746741
Lesenswert?

Ansonsten noch für den TO, in den Headern reichen die Datentypen der 
Funktion, die Namen brauchen da nicht rein.
1
void berechne(uint8_t*, uint8_t, uint8_t);
Hätte also auch gereicht, nur muss eben der Datentyp uint8_t bekannt 
sein, also inttypes.h oder stdint.h je nach sonstigem Bedarf in den 
Header mit rein.
#6747134
Lesenswert?

nicht Gast schrieb:
> Ansonsten noch für den TO, in den Headern reichen die Datentypen der
> Funktion, die Namen brauchen da nicht rein.void berechne(uint8_t*,
> uint8_t, uint8_t);

Für den Compiler mag das reichen, für den Menschen, welcher die 
Funktionen benutzen will eher nicht! Schon gar nicht, wenn andere Leute 
sie irgendwann mal benutzen sollen.

Wer exzessiven Minimalismus praktizieren will darf gern Maschinencode 
schreiben, wahlweise auch BO8 Assembler ;-)

https://www.mikrocontroller.net/articles/8bit-CPU:_bo8

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