STM32 Nucleo C++ Eclipse

#5698791
Lesenswert?

STM_Beginner schrieb:
> Hallo,
> hat jemand ein STM32 Nucleo Projekt mit C++, bzw einen Link ?
> Ich suche für die Eclipse Umgebung.

Was genau suchst du? Eine Anleitung, ein fertiges Projekt als Beispiel? 
Oder eigentlich nur eine Referenz.

Ich programmiere STM32 in SystemWorkbench4STM32 (Eclipse basiert) in 
C++.
Für die Peripherals benutze ich direkte Registerzugriffe, die ich in 
Class Templates abstrahiere und danach mit typedefs für jedes dieser 
Peripherals einen typen erstelle (z.B. Timer als class template, dann 
TIM1, TIM2, TIM3 als typedefs bzw mit using).

Für Informationen über die Peripheral Register ließt du dir am besten 
das Reference Manual zu deinem STM32 Controller durch.
Gast #5698971
Lesenswert?

Vielen Dank für Eure Antworten,
Ich habe mir mit dem STM32CubeMX für mein NUCLEO F446RE Board ein 
Projekt erstellt.
Nun habe ich einen STEP Motor 28BYJ angeschlossen, dreht sich mit "Ansi 
C" auch wunderbar.
Ziel ist für mich aber eine C++ Klasse zu erstellen.

Bisher Header:**********************************************************
#ifndef STEPPER28BYJ_H_
#define STEPPER28BYJ_H_

#include "stm32f4xx_hal.h"
#include "stm32f4xx_hal_gpio.h"
#include "def.h"
class Stepper28BYJ   {
public:
  Stepper28BYJ() {
-----
"Hier Fehlermeldung: expected '=', ',', ';', 'asm' or '__attribute__' 
before '{' token"
----
  }
  void SetValues(
      OutputPin pn1,
      OutputPin pn2,
      OutputPin pn3,
      OutputPin pn4);
  virtual ~Stepper28BYJ();
  void WriteStepperPin(
      GPIO_PinState p1,
      GPIO_PinState p2,
      GPIO_PinState p3,
      GPIO_PinState p4);
  OutputPin pin1, pin2, pin3, pin4;

};
#endif /* STEPPER28BYJ_H_ */
CPP:*************************************************************
#include "Stepper28BYJ.hpp"
Stepper28BYJ::Stepper28BYJ() {
  // TODO Auto-generated constructor stub
}
Stepper28BYJ::~Stepper28BYJ()
{  // TODO Auto-generated destructor stub
}
void Stepper28BYJ::SetValues(
    OutputPin pn1,
    OutputPin pn2,
    OutputPin pn3 ,
    OutputPin pn4) {
  // TODO Auto-generated destructor stub
  pin1 = pn1, pin2 = pn2, pin3 = pn3, pin4 = pn4;
}
void Stepper28BYJ::WriteStepperPin(
    GPIO_PinState ps1,
    GPIO_PinState ps2,
    GPIO_PinState ps3,
    GPIO_PinState ps4){

    HAL_GPIO_WritePin(pin1.OutPort, pin1.OutPin, ps1);
    HAL_GPIO_WritePin(pin2.OutPort, pin2.OutPin, ps2);
    HAL_GPIO_WritePin(pin3.OutPort, pin3.OutPin, ps3);
    HAL_GPIO_WritePin(pin4.OutPort, pin4.OutPin, ps4);
}
Stepper28BYJ step;

def.h:***************************************************************
#ifndef DEF_H_
#define DEF_H_
typedef struct  {
  GPIO_TypeDef* OutPort;
  uint16_t   OutPin;
} OutputPin;
#endif /* DEF_H_ */

Leider erhalte ich die Fehlermeldung(siehe oben) angezeigt, deswegen die 
Frage nach einem C++ Projekt als Beispiel.
Vielleicht reicht ja auch ein Tip?
Danke im vorraus.

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