@roboterheld
mcsbyte.lbx verkürzt den Code bei Byte-Operationen (Details im Handbuch)
numeric<>string conversion routines only for bytesTja, ich weiß nicht, wie Du GETRC5 aufrufst (Ständige Abfrage oder LEVEL-ISR). Jedoch führt ein falscher Lichtimpuls zu bis zu 130ms timeout (Blockade des µC) und genau dass konnte ich damals nicht gebrauchen.Störungen durch Neonlampen
@for_ro
Es war nur ein Hinweis, da ich mich damals sehr intensiv mit dem Thema beschäftigt habe.
siehe dazu im Text:Vorgehensweise nicht richtig ist. Du baust dir eine sehr große ISR
"ISR dauert nur ca. 8µs alle 178µs bei 8Mhz Clock, d.h. ISR 5% µC-Last"
Der Vorteil ist, diese ISR hängt nicht und ist mit 8µs wenn kein Ereigniss auftritt auch nicht auffällig lang. Ich kenne Dein Projekt nicht, wenn Du diese 8µs nicht entbehren kannst, dann ist es für Dich nicht geeignet (zB Soft-UART etc).
Mit einer NOSAVE ISR wäre da noch einiges zu optimieren. Diese Registersicherungsorgie dauert alleine 52 Takte = 6,5uS!!
Habe mir mal Dein umfangreiches Projekt unter https://www.roboternetz.de/phpBB2/ze...ag.php?t=34497 angesehen.
Respekt. Wir sind im Lösungsansatz gar nicht soweit auseinander, da der Timer ISR bei Dir auch als Hintergrundlast läuft und zusätzlich eine Level-ISR angestoßen wird. Für mich war die Auswertung in der ISR günstiger, da ich wegen umfangreicher LCD-Ausgaben in der Main-Loop nicht garantieren konnte, dass er immer zwischen zwei Flanken genügend Zeit hat. Solange man in der ISR keine Prints/LCD-Ausgaben etc. durchführt, sind ein paar Zeilen Code eher unkritisch. (hängt vom Projekt ab)
Lesezeichen