Hallo,
ich habe einen i2c Sensor, der mit 1Hz Werte liefert. Wie kann ich jetzt in der Software warten, bis beispielsweise 3 Werte übermittelt wurden?
Klar man könnte jetzt mit "waitms " irgendwas bauen, aber das geht doch eleganter, oder?
Danke!
Druckbare Version
Hallo,
ich habe einen i2c Sensor, der mit 1Hz Werte liefert. Wie kann ich jetzt in der Software warten, bis beispielsweise 3 Werte übermittelt wurden?
Klar man könnte jetzt mit "waitms " irgendwas bauen, aber das geht doch eleganter, oder?
Danke!
Ohne die Details zu können würde ich dazu tendieren, mit einem Timer zu arbeiten. Per Timer 1 x pro Sekunde eine ISR aufrufen in der der Sensor abfragt wird und eine Variable die Anzahl der Messungen mitzählt.
Im Hauptprogramm kannst du dann an geeigneter Stelle abfragen, ob diese Variable schon bis drei gezählt hat.
Gruß MeckPommER
Wie muss ich den Timer konfigurieren, wenn ich den internen Takt des Atmega8 nutze, damit der Interrupt 1x/Sekunde ausgelöst wird?
Gruß
Alex
Das wird hier hervorragend erklärt:
https://www.roboternetz.de/wissen/in...scom_und_Timer