Hallo,
Ich bin mehrere Schritte weiter und möchte zum Schalten der Ausgänge aus
einem Vector mit eigener Struktur mit Hilfe des Namens die jeweilige
Pinnummer abrufen bzw. als Substitution in den Funktionen nutzen. Dafür
habe ich auch schon eine Anleitung gefunden [1], allerdings klappt es
nicht bzw. ich verstehe die Funktionsweise nicht.
Ich habe folgenden Vector:
----------------------------------------
struct config_values {
int config_number;
string config_name;
};
std::vector<config_values> config_vec
----------------------------------------
Als Beispieldaten habe ich folgende Werte:
----------------------------------------
config_vec[1].config_number = 4;
config_vec[1].config_name = led_alarm;
config_vec[2].config_number = 17;
config_vec[2].config_name = led_normal;
config_vec[3].config_number = 18;
config_vec[3].config_name = valve_1;
// usw.........
----------------------------------------
Nun möchte ich z.B. die Funktion "gpioWrite(GPIO_NO,Value)" nutzen, um
die LED aus- bzw. einzuschalten. Dafür mochte ich die GPIO-Nummer "4"
durch eine Variable ersetzen, in der die Nummer mit dem Suchstring
"led_alarm" gefunden wird, da ich per csv-Datei die Nummer neu zuordnen
kann, ohne das Programm neu zu kompilieren.
Das tollste wäre nat., wenn ich den Befehl
"gpioWrite(config_vec{"led_alarm"},0}" (das ist nat. kein
funktionierender Befehl!) aufrufen könnte und der GPIO-Ausgang mit der
Nummer "4" geschaltet würde.
Könnt ihr mir da noch mal auf die Sprünge helfen? Eine einigermaßen
verständliche Anleitung würde mir schon reichen.
----
[1]
https://stackoverflow.com/questions/14225932/search-for-a-struct-item-in-a-vector-by-member-data
--
Mit freundlichen Grüßen
Sebastian Reinhardt
LMV
Landmaschinenvertrieb- und Service GmbH
Hauptstrasse 13G
(OT Hartmannsdorf)
01762 Hartmannsdorf- Reichenau
Geschäftsführer: Sebastian Reinhardt
Amtsgericht: Dresden
Handelsregisternummer: HRB 2574
Umsatzsteuer- Identnr.: DE 140461622
Tel: +49 373 26 1851
Mobil:+49 172 357 3107
Fax: +49 373 26 86804
Mail: s...@lmv-hartmannsdorf.de
Web: www.lmv-hartmannsdorf.de