Problem: Struct->call by reference->verschiedene Quellen

Gast #2752378
Lesenswert?

Folgendes Problem:
Ich habe ein Struct für 3 Messwerte (x,y,z) in adxl345.h deklariert. In 
main.c erstelle ich einen Zeiger auf einen solchen Typ und übergebe 
diesen an die Funktion get_acc_adxl345(&adxl345_messwert). Diese 
Funktion befindet sich in adxl345.c und ist der main.c auch bekannt über 
die eingebundene Headerdatei.


Compilerfehler:
expected '=', ',', ';', 'asm' or '__attribute__' before 
'adxl345_messwert'  ADXL345.h (Zeile: extern adxl345 adxl345_messwert)

expected ')' before '*' token  ADXL345.h (Zeile: extern void 
get_acc_adxl345(adxl345 *)

expected ')' before '*' token  ADXL345.c (Zeile: void 
get_acc_adxl345(adxl345 *messwert)




[c]
//main.c
#include <ADXL345.h>

volatile adxl345 *adxl345_messwert;

...

void main()
{
...
get_acc_adxl345(&adxl345_messwert);
...
}


//adxl345.h
#include <inttypes.h>

typedef struct adxl345{
  uint8_t x;
  uint8_t y;
  uint8_t z;
};

extern adxl345 adxl345_messwert;

extern void get_acc_adxl345(adxl345 *);

//adxl345.c
#include <ADXL345.h>
void get_acc_adxl345(adxl345 *messwert)
{
...
  messwert->x = (((int)_buff[1]) << 8) | _buff[0];
  messwert->y = (((int)_buff[3]) << 8) | _buff[2];
  messwert->z = (((int)_buff[5]) << 8) | _buff[4];
}
[\c]

Danke im Vorraus!
Gast #2752452
Lesenswert?

ADXL345 ist ein Accelerometer.
Ich will mit der Funktion get_acc_adxl345(&adxl345_messwert); die 
Messwerte des Sensors erhalten.
Dachte mir das ist die beste Möglichkeit oder irre ich mich da?
D.h. ich übergebe der Funktion den Zeiger und die Funktion schreibt die 
Werte.
Gibt es eine bessere/ geschicktere Möglichkeit?

Projekt: Sensorboard mit Gyro und Acc (RoboBee 6 DOF), zum Einstieg in 
die µC Programmierung
Gast #2752469
Lesenswert?

Andreas schrieb:
> ADXL345 ist ein Accelerometer
Genau deswegen habe ich gefragt. Hatte kurz danach gegoogelt..
Dachte dann, dass du evtl. etwas für den Modellbau oder sowas machst.
Hast du dann noch irgendwas konkretes damit vor?
Hast du einen LCD zum Darstellen der Werte?

Andreas schrieb:
> Gibt es eine bessere/ geschicktere Möglichkeit?
Kann man meiner Meinung nach schon so machen...
Gast #2752477
Lesenswert?

In ferner Zukunft will ich damit einen einachsigen Roboter Regeln. 
(Inverses Pendel).

Wäre aber auch sicherlich für einen Quadrokopter o.ä. interessant, bzw. 
Segway Klon...

Mal schauen was die zukunft bringt und wie groß das Budget ist.

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