Hallo Malte,Zitat von malthy
dies wirst du mit den "normalen Interrupt-Routinen (also ohne Nosave) ganz sicher nicht hinbekommen. Eine leere ISR benötigt schon 110 Takte, bei 16MHz also ca. 7µs. Und wenn du dann noch bei den PCINTs selber auswerten musst, welcher es nun war, dauert es noch länger.
LCDs sind normalerweise unempfindlich gegen längere Zeiten und empfindlich gegen zu kurze. Wenn du das LCD also zu schnell aktualisierst, bekommt es Schluckauf. Zu langsam oder unterbrochen macht ihm viel weniger aus. Was da an das LCD geschickt wird, ist ja auch gar nicht so komplex. Am aufwändigsten ist es meistens, die einzelnen Zeichen von Textausgabe herzustellen.Zitat von malthy
Wenn du z.B. eine Single Variable mittels
LCD MySingle oder LCDAT MySingle
ausgeben willst, muss Bascom dazu zunächst mal die einzelnen Zeichen bestimmen, sprich es konvertiert die Single in einen String, der dann Zeichen für Zeichen ausgegeben werden kann.
Wenn du mehrere Signale hast, die mit Frequenzen von 5KHz reinkommen und du jedes über eine separate ISR laufen lässt, dann wird meiner Meinung nach die Gesamtzeit, die das Programm in den ISRs verbringt, zum eigentlichen Problem für die LCD Ausgabe werden.
Lesezeichen