Forum: Mikrocontroller und Digitale Elektronik BASCOM Waitms


von Christian (Gast)


Lesenswert?

Hallo,
ich arbeite jetzt seit einigen Monaten mit AVRs und Bascom.

Dabei habe ich noch keine genauen Zeitsachen gebraucht.

Aber jetzt hätte ich einige Fragen, zum Waitms Befehl.
Bei Waitms 1000 sollte er doch eine Senkunde warten?
Bei mir wird da aber einige Senkunden gewartet.

Wenn man ganz genaue Zeiten braucht, dann ist der Waitms Befehl
zu ungenau habe ich irgendwo mal gelesen.
Dann soll man es mit Timrn machen oder?
von Hannes L. (hannes)


Lesenswert?

Christian schrieb:
> Hallo,
> ich arbeite jetzt seit einigen Monaten mit AVRs und Bascom.
>
> Dabei habe ich noch keine genauen Zeitsachen gebraucht.
>
> Aber jetzt hätte ich einige Fragen, zum Waitms Befehl.
> Bei Waitms 1000 sollte er doch eine Senkunde warten?
> Bei mir wird da aber einige Senkunden gewartet.

Dann vergleiche mal die Angabe der Taktfrequenz mit der tatsächlichen 
Taktfrequenz Deines Controllers. Tip: Einige neuere AVRs haben eine 
Taktvorteiler, der per Fuse auf 1 zu 8 voreingestellt ist.

>
> Wenn man ganz genaue Zeiten braucht, dann ist der Waitms Befehl
> zu ungenau habe ich irgendwo mal gelesen.

Naja, das sind dann Abweichungen von wenigen Prozenten.

> Dann soll man es mit Timrn machen oder?

Der Hauptgrund für den Einsatz von Timern ist das Entlasten der CPU, den 
Timer arbeiten in Hardware (im Hintergrund), Waitms ist eine 
Warteschleife, bei der die CPU sinnlos Takte zählt, um 
Verzögerungszeiten zu erzielen. Dabei kann die CPU natürlich nix Anderes 
machen.

...
von mue-c (Gast)


Lesenswert?

Das Waitms ist sicher nicht die richtige Funktion, um eine exakte Zeit 
zu messen. Aber so ungenau, wie du es beschreibst, ist es auch wieder 
nicht.
Hast du die Fusebits richtig gesetzt?
von Wolfgang S. (wsm)


Lesenswert?

Du hast eine falsche Quarzfrequenz angegeben.

W.
von Christian (Gast)


Lesenswert?

Hallo,
> Taktvorteiler, der per Fuse auf 1 zu 8 voreingestellt ist

Mit welchen Fusebit, kann ich diesen Tankvorteier verändern ?
von Christian (Gast)


Lesenswert?

Ah,
Jetzt habe ich es schon gefunden.
"devide Clock by 8"

Jetzt ist meine Sekunde auch eine Sekunde.
Danke für die Hilfe.
von Hannes L. (hannes)


Lesenswert?

Christian schrieb:
> Mit welchen Fusebit, kann ich diesen Tankvorteier verändern ?

Gut, Du hast es bereits gefunden.

Trotzdem halte ich es für etwas unfair, konkrete Fragen nach den 
Fusebits zu stellen, ohne den Controllertyp zu nennen. Denn die AVRs 
sind recht unterschiedlich mit Features und damit auch Fuses 
ausgestattet.

...
von Martin (Gast)


Lesenswert?

Man sollte NIE eine Wait Funktion verwenden, weil in dieser Zeit nichts 
anderes mehr geht.
von Hannes L. (hannes)


Lesenswert?

Martin schrieb:
> Man sollte NIE eine Wait Funktion verwenden, weil in dieser Zeit nichts
> anderes mehr geht.

Das ist richtig. Dem Anfänger sei es aber für seine ersten Schritte 
gestattet, damit man ihm dann, wenn er nicht weiter kommt, sagen kann, 
dass und wie es mit einem Timer besser geht.

Multitasking kommt dann später...

...
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
Noch kein Account? Hier anmelden.