In Bascom war Waitms 100 für mich bislang das was es heißt. Jetzt habe ich eine Schaltung ( Weihnachtsstern of Hell ) in der ich den internen Oszilator ohne Quarz benutze. Muss alles billig sein. Jetzt ändert sich Wait in Abhängigkeit von $Chrystal. Hab ich es erst heute gemerkt oder is da noch was in den Fusebits ?
>Jetzt ändert sich Wait in Abhängigkeit von $Chrystal.
Lass mich raten: Je größer $Crystal, umso länger dauern 100ms? Das
könnte daran liegen, das Bascom die Wait-Verzögerungsschleifen genau mit
diesem Wert berechnet.
Gruß Skriptkiddy
Ich hatte bisher immer nen Quartz oder ext. Oszi Wenn die Fusebits richtig sind ist es also bei Quarz und ext. Oszi egal was ich hinter $Chrystal schreibe. Oder liefert $Chrystal nur einen Parameter und hat gar keinen Einfluss auf die Clock ?
Johannes Krumm schrieb: > Ich hatte bisher immer nen Quartz oder ext. Oszi > Wenn die Fusebits richtig sind ist es also bei Quarz und ext. Oszi egal > was ich hinter $Chrystal schreibe. > > Oder liefert $Chrystal nur einen Parameter und hat gar keinen Einfluss > auf die Clock ? Denk doch mal nach. Dein Compiler muss wissen welche Frequenz dein Quarz hat um entsprechend viele Takte zu warten. Wenn du deinem Compiler erzählst (beispielhaft) ich hab nen 4 MHz Quarz dann weiß der Compiler er muss für 100ms von mir aus 1000 Takte warten. Wenn du ihm jetzt aber einnen 8 MHz Quarz einsetzt (in der Schaltung) dann wartet der Microcontroller immmernoch 1000 Takte aber die gehen doppelt so schnell vorbei (4*2=8). Das gleiche gilt auch wenn du dem Compiler erzählst du verwendest einen Takt - diesen aber dann nicht verwendest ....
Johannes Krumm schrieb: > Oder liefert $Chrystal nur einen Parameter und hat gar keinen Einfluss > auf die Clock ? Ja. Genau so ist es. Den Clock bestimmen die Hardware (Quarze usw.) und die Clock-Fuses und das unabhängig von dem $Crystal-Parameter. Da Bascom allerdings nicht erraten kann, mit welchem Takt dein AVR läuft, musst du es angeben. Sonst könmte es den UART nicht richtig initialisieren und die Warteschleifen wären nicht "exakt". [1] [1] http://avrhelp.mcselec.com/index.html Gruß Skriptkiddy
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.