Gast
#5698127
Hallo, hat jemand ein STM32 Nucleo Projekt mit C++, bzw einen Link ? Ich suche für die Eclipse Umgebung. Danke im vorraus.
|
Anzeige
|
STM32 Nucleo C++ Eclipse
Gast
#5698127
Hallo, hat jemand ein STM32 Nucleo Projekt mit C++, bzw einen Link ? Ich suche für die Eclipse Umgebung. Danke im vorraus.
Gast
#5698787
Die "System Workbench for STM32" basiert auf Eclipse und hat dazu einen Assistenten. File/New/Project/C++ Project/AC6 STM32 MCU Project 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
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.
Gast
#5698976
STM_Beginner schrieb: > Vielleicht reicht ja auch ein Tip? Zunächst mal dieser Tip im Anhang. Bitte lesen, verstehen und verinnerlichen.
Gast
#5698984
Der Konstruktor darf in der Header Datei keinen Code-Block enthalten - auch keinen leeren. Stefanus F. schrieb: > Der Konstruktor darf in der Header Datei keinen Code-Block enthalten - > auch keinen leeren. Er darf schon, kann aber dann nicht in einer .cpp Datei deklariert werden, nennt sich inline declaration.
Gast
#5699005
mbed-cli installieren und mit dem Blinky https://github.com/ARMmbed/mbed-os-example-blinky anfangen. Das kann erstmal einfach in der Kommandozueile übersetzt und auf das Board geladen werden. Dann mit 'mbed export' die Projektdateien für Eclipse erzeugen und in SW4STM32 oder gnuarmeclipse verwenden.
Gast
#5699073
Hier ein Beispiel für gemischtes C und C++ Projekt: https://www.youtube.com/watch?v=gOpClMD4M38 Den Code für die kluge aber hektische Sonnenblume gibt es auf github. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|