Hallo alle mit einander, ich sitze hier und überlege wie Ich den Wert für meinen Zähler richtig berechne, damit auch die Richtige Zeit dabei rauskommt. Also, es geht darum, dass ich in meinem Programm einen Portpin auf HIGH setze und möchte, das er nur eine bestimmte Zeit gesetzt bleibt und diese Zeit möchte ich ausrechnen. Ich möchte, dass wenn die Zeit ( Durchläufe) gezählt werden, das Programm aber weiter arbeitet. Deswegen rufe ich ein Unterprogramm in meine main Schleife auf, in der gezählt wird wie oft ich schon da drin war. Beim jedem Aufruf wird der Speicher um 1 erhöht. Wenn ich jetzt sage, dass mein Speicher nach z.B.: 1ms den Wert erreichen soll, muss ich wissen bis wo ich Zählen muss. Ich arbeite mit einer internen Frequenz von 24,5 MHz und habe einen 8bit µC. Einen Timer will ich dafür nicht nehmen. Die Durchlaufzeit hängt doch von der Länge und den Befehlen meine Codes ab oder liege ich da Falsch. Kann mir einer von euch ein Tipp geben, ich wäre euch dankbar!
>Die Durchlaufzeit hängt >doch von der Länge und den Befehlen meine Codes ab oder liege ich da >Falsch. Soweit korrekt. Aber da du von main sprichst, vermute ich das du in C programmierst. Da musst du den entstehenden Assemblercode analysieren und Befehle zählen um zu wissen wielange er benötigt für einen Durchlauf. >Einen Timer will ich dafür nicht nehmen. Das würde ich dir aber stark raten!
Hallo lippy, giebt es den keine andere möglichkeit, die ohne Timer gut funktioniert?
>die ohne Timer gut funktioniert? Das widerspricht sich doch. >keine andere möglichkeit Wie ich gesagt habe, du musst Befehle zählen.
"will" ich dafür nicht nehmen - das ist kein Argument. Kann ich nicht nehmen, wäre akzeptabel. Das zeugt dann i.a. von mangelnder Programmierintelligenz, dem kann man hier abhelfen. Ein Timer kann problemlos mehrere Aufgaben steuern. Gegen "ich will nicht" ist kein Kraut gewachsen, also sinnlos.
in C einfach testen: nimm irgendeinen I/O Pin, vor der Funktion setzen, nach der Funktion rücksetzen und mit dem Oszi nachschauen...
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.