Hallo ich würde gerne über nur eine define änderung zwichen
verschiedenen Countern umschalten können (es werden teilw. verschiendene
Prozessoren verwendet).
Ich hätte mir das ganze zirka so vorgestellt:
das Problem ist, dass MV_TIMER nicht aufgelöst wird.
Gibt es ergendwie die Möglichkeit einfach umzustellen ohne jede Zeile
einzeln zu ändern?
Gruß Norton
Die Prozessoren sind soweit ich es benötige kompatibel.
die Lösung mit den "#if defined ..." ist mir bewusst, wollte ich aber
nicht verwenden weil wenn eine Änderung nötig ist, muss ich für alle
Zweige (Prozessoren) die Änderung vornehmen.
Außerdem dachte ich mir eigentlich, dass der Austausch der Zahlen kein
Problem darstellen sollte. (jetzt denke ich anders)
Aber danke für den Rat
laut meinen bisherigen programmierkentnissen ist es bei
präprozessordirektiven nicht anders möglich als "#if defined ..." bzw.
"#ifdef ..." zu benutzen.
mfg. Mino
Danke!
das Funktioniert zwar, aber es währe schön gewesen, wenn es einfacher
und übersichtlicher funktioniert hätte.
Ich dachte, da es ja nur um eine Textersetzung geht sollte es einfacher
sein "Zeichen" auszutauschen.
Mal sehen wie ich das machen werde.
Oder hat jemand noch eine andere Idee?
Hier ist noch eine Möglichkeit, die auf dem gleichen Grundgedanken wie
Stefans Vorschlag beruht. Man kann damit Makros definieren, die aus
beliebigen drei Teilen zusammengesetzt sind, von denen jeder vor dem
Zusammenfügen expandiert wird.
Statt
> das Funktioniert zwar, aber es währe schön gewesen, wenn es einfacher> und übersichtlicher funktioniert hätte.Schön finde ich das auch nicht, deshalb habe ich dir ja erst was
anderes vorgeschlagen. Ich sehe übrigens immer noch nicht, was dir daran
nicht gefällt. Du musst ja nicht auf Basis des Typs unterscheiden, du
kannst ja auch nach MV_TIMER unterscheiden:
Danke an alle!
Ich habe die "CONCAT3" Variante gewählt. Ist für meine Zwecke die
schönste.
@Stefan Ernst
Ich bin dabei eine Art "Library" (.c .h files mit Funktionen) zu
erstellen. Diese Funktionen sollen von allen verwendet werden. Und nur
durch Parametrierung angepasst werden.
Wenn ich eine Funktion habe möchte ich grundsätzlich nur an einer Stelle
Anpassungen machen müssen wenn eine Änderung nötig ist.
Weiters habe ich extra eigene Defines verwendet um von der HW unabhängig
zu sein (HAL). Würde ich eine Änderung am Timer vornehmen müssen müsste
ich das bei der #ifdef Variante bei allen nachziehen müssen so nur
einmal.
Weiters bin ich so mit dem derzeitigen Print sehr schnell im Stande den
Timer zu wechseln -> ist jetzt ja nur noch ein Define.
Ich weiß nicht ob ich mein Anliegen verständlicher gemacht habe, aber
ich hoffe doch.
Ich bedanke mich nochmals recht herzlich bei allen die Vorschläge
gemacht haben.
Eine eigene Frage?
Dieser Thread ist über 18 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.