In deinem Beitrag 14 erwänst du auch das Datenblatt auf der Seite. Das Programm ist aber komplett in Basic geschrieben. Ist für mich nicht zu verwenden.
Siehe meinen Beitrag 16 und 19 - Stichwort "Versionierung"Sage einfach was ich besser machen kann oder sogar falsch ist.
Wie kann ich die Aufrufabfolge verbessern? Durch die kurzen Programmaufrufe unterteile ich doch die Funktionen und kann dadurch auch besser Fehler finden. In diesem Programm habe ich die Kontrolle I2C Bus untergliedert. Wenn die Adresse des SRF02 nicht stimmt wird es angezeigt. Fehleranzeig für das Display mach ich auch. Du schreibst "was passiert dann ..", kann ich mir nur eine LED die blinkt vorstellen.- Aufrufabfolge: "startanzeige()", "testbus()" etc
- Fehlerbehandlung: I2C funktioniert nicht, SFR02-Modul fkt nicht, LCD fkt nicht - was passiert dann
Das müsstest du mir mal näher erklären. Hatte eigentlich die Erfahrung gemacht, das es kaum noch kürzer oder einfacher geht ohne die Übersicht zu verlieren.Auch hätte man die Funktionen etwas einfacher bzw sinnvoller machen können.
Siehe Beitrag 24 - Stichwort "Aufrufabfolge" oder "sinnvolle Reihenfolge der Funktionsaufrufe" - die ist nämlich .... Murks - schau sie Dir nochmal GENAU an ...Wie kann ich die Aufrufabfolge verbessern?
Wo??Fehleranzeig für das Display mach ich auch.
Das ist das Mindeste an Fehleranzeigen - siehe Beitrag 24Du schreibst "was passiert dann ..", kann ich mir nur eine LED die blinkt vorstellen.
Z. B. die Anzeige der Werte - es reicht, immer nur den Wert auf dem Display zu aktualisieren (und noch anderes, das findest Du aber bestimmt selbst heraus...)Das müsstest du mir mal näher erklären.
Dann mache eben eine neue Platine mit I2C Verbindung mit einem MCP23017 und 8 per Hardware (RC-Glied!!) entprellte Taster und 8 verschieden farbige LEDs - und schon ist das Problem beim Attiny841 erledigt - ganz einfach und kompatibel!! So eine Extender-Platine ist sowieso ganz sinnvoll!Beim Atmega1284p habe ich 2 LEDs angeschlossen. Kann auch über eine zusätzliche Anzeige mit LEDs mehr machen. Sehe das Problem vielleicht beim Attiny841. Da sind die Pins knapp.
Ich wusste nicht, dass der Tiny441/841 nur als Slave bezüglich TWI verwendet werden kann.Nur fürs Debugging einen Master-TWI implementieren?
Entweder ein SPI-Portexpander oder irgendwas über UART wäre mMn sinniger...
Und was sieht der User, wenn die Adresse zum Display NICHT stimmt oder der I2C NICHT funktioniert - nichts. Er sieht ÜBERHAUPT nichts.In dem Programm mit der P30 ist eine Abfrage zum Display drin. Wenn die Adresse zum Display stimmt wird es angezeigt, sonst halt nicht.
Multitasking - aha! Hoffentlich ist da Deine SW etwas "robuster" hinsichtlich möglicher FehlerDas mit der Anzeige verwende ich z.B. bei Multitasking
Verwende den UART zur Darstellung von Zuständen/Fehlern auf dem PC (hTerm läßt grüßen); genügend SW bezüglich Verwendung des UART gibt es ja im Netz (P. Danneger, P. Fleury etc).Bin jetzt erst einmal an den LEDs dran.
?Der I2C Bus beim Attiny841 unterscheidet sich stark zu anderen ICs.