Ist es OK mehrere Pinzustände in unten genannter Form abzufragen oder macht man das lieber einzeln? if ((!(T1)) && (!(T2)) && (!(T3)) && (!(T4))) // Wenn alle 'low' { status = 1; } Gruß, Herbert
Kommt darauf an, was hinter den T... steckt und ob du z.B. eine Entprellung haben willst und um welchen µC es geht. Manche µC können einzelne Pins (Bits) abfragen, andere nur einen kompletten Port. Wenn du letzteren programmierst, hast du mit deiner Methode natürlich eine riesige Codeaktion ausgelöst, statt einmal den Port einzulesen und dann mit einer Maske die einzelnen Bits zu prüfen. Der Zugriff auf den Port ist normalerweise volatile, d.h. der Compiler darf die Zugriffe auch nicht zusammenfassen. Es werden also vier seperate Einleseoperationen gemacht. Für AVRs gibt es gute Funktionen zur Entprellung, die mehrere Tasten überwachen können und denen du die Auswertemaske übergeben kannst.
Karl heinz Buchegger schrieb: > T1, T2, T3 und T4 Das sind die Eingänge, entprellen muss ich die nicht, das waren mal Taster, sorry, hätte ich dazu schreiben sollen. Jetzt sind es Ausgänge von nem Halbleiter, prellen also nicht. Der Controller ist ein MSP.
Herbert Glück schrieb: > Jetzt sind es Ausgänge > von nem Halbleiter, prellen also nicht. Das eine hat mit dem anderen überhaupt garnichts zu tun. Ein 74HC04-Gatter ist z.B. ein Halbleiter und das Prellen ist dahinter genauso stark, wie davor. Eine Halbleiterschaltung entprellt nur dann, wenn sie auch entsprechend ausgelegt ist. Eine extra Entprellschaltung rechnet sich aber im allgemeinen nicht. Denn der Codeaufwand und die CPU-Last für eine gute Softwareentprellung ist geradezu lächerlich gering. Peter
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.