Funktionspointer uint32_t Parameter übergeben

Gast #7350543
Lesenswert?
• ▲
▼

Leo schrieb:

Hallo,

in einer Mikrocontroller Applikation wird ein Funktionspointer benötigt. Dieser soll quasi Daten weiterreichen.

Wie kann ich zum Beispiel einen uint32_t als Parameter übergeben?

1
   void(*FuncPointer)(uint32_t data);
1
   FuncPointer = FunktionDieUint32_tAlsParameterWill;
2
   FuncPointer(data);
Gast #7350591
Lesenswert?
• ▲
▼

Leo schrieb:

Mikrocontroller

Da Arduinos auch wohl µC sind, hier ein Test aus meiner Wühlkiste:

1
#include <Streaming.h> // die Lib findest du selber ;-)
2
Print &cout = Serial; // cout Emulation für "Arme"
3

4
using FuncPtr = void (*)(int);
5

6
FuncPtr callback;
7

8

9
void testfunc(int value)
10
{
11
  cout << F("testfunc: ") << value << endl;
12
}
13

14

15
void setup() 
16
{
17
  Serial.begin(9600);
18
  cout << F("start") << endl;
19

20
  if(callback) callback(4711);
21
  callback = testfunc;
22
  if(callback) callback(4712);
23
  callback = [](int value){cout << F("Lambda: ") << value << endl;};
24
  if(callback) callback(4713);
25
  callback = nullptr;
26
  if(callback) callback(4714);
27

28
  cout << F("ende") << endl;
29
}
30

31
void loop() 
32
{
33

34
}

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.