Gibts sowas? Ich muss im Timerinterrupt (500µs) rel. viele Eingänge (10) abfragen und die Impulse zählen (32bit), dazu kann zur Laufzeit per Dipschalter die Entprellzeit für jeden einzelnen Eingang umgeschaltet werden. Erschwerend kommt hinzu, dass die Eingänge wild über verschiedene Ports verteilt sind, also hab ich mich für ein lineares Programm (also ohne Schleife) entschieden, Prozessorzeit ist knapp, Speicher hab ich genug. Funktioniert auch prima, Änderungen sind allerdings recht fehleranfällig (muss dann immer in 10 einzelnen Programmteilen gemacht werden). #define in7 PINC.1 #define mode_in7 PINA.4 if (mode_in7) //ohne Entprellen {if (in7 && !in7_bak) counter[7]++; } else //mit Entprellen {. . } in7_bak=in7; Den Teil mit dem Entprellen habe ich jetzt mal weggelassen. Gibt es eine Möglichkeit, dieses so zu schreiben wie bei einem Assembler-Macro, in dem Fall also mit dem Parameter 7 compilieren zu lassen?
Du möchtest Dir den ##-Operator des Präprozessors angucken. Kleines Beispiel: Wenn ich #define var(x) var##x schreibe, dann macht der Präprozessor aus i = var(1); das hier i = var1; CU Christian
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.