Forum: Mikrocontroller und Digitale Elektronik Mega16: 10ms = 1Sek??? hä?


von Tobi (Gast)


Lesenswert?

Hi,

Habe nen Mega 16 mit 16 Mhz (externer) Taktfrequenz.
Wenn ich im Bascom sage, er soll im 10ms Takt einen Pin (mit LED) aus
und einschalten, schält der im realen Leben vielleicht 1x pro SEKUNDE
ein und wieder aus.

Quellcode:

Config Portd = Output
Begin:

Portd.0 = 1

Waitms 10

Portd.0 = 0

Waitms 10

Goto Begin

/Quellcode

Habe aber im Bascom eingestellt (unter Options; Compiler;
Communication), dass die Frequency des Xtal 16000000 Hz ist.

Frage deshalb:

Was läuft falsch????

Vielen Dank schon mal im voraus für eure Hilfe!!

Tobi

ps: Als Chip habe ich in Bascom M16 eingestellt.

von andré (Gast)


Lesenswert?

Versuch die Einstellungen im Quellcode selbst ueber
$regfile =  und
$crystal =

zu machen!

mfg

von Jan (Gast)


Lesenswert?

Mir fällt spontan noch auf das du außer der "$regfile und
$crystal" Geschichte
kein END am Ende vom Code stehen hast.

Hier noch mal komplett:

$regfile = "M16def.dat"
$crystal = 16000000
Config Portd = Output
Begin:
Portd.0 = 1
Waitms 10
Portd.0 = 0
Waitms 10
Goto Begin
End

Gruß Jan

von leo9 (Gast)


Lesenswert?

der Fehler geht sich zwar rechnerisch nicht ganz aus, ich würde aber auf
falsche Fuse-Bits setzen, mit z.B. intern 1 MHz würde dein uP alle 160us
umschalten.

grüsse leo9

von Florian Pfanner (Gast)


Lesenswert?

Bist du dir sicher, dass du das externe Quarz verwendest und nicht den
internen RC-Oszillator? - Dieser ist nämlich von Atmel defaultmäßig
eingeschaltet.

Gruß, Florian

von Markus (Gast)


Lesenswert?

Wird der Quarz überhaupt benutzt? Ab Werk ist der interne Oszillator mit
1MHz Takt eingestellt. Die Crystal-Anweisung sagt Bascom nur, wie
schnell der Controller angeblich getaktet wird, damit kann man aber
weder Taktquelle noch Frequenz einstellen. Stell doch mal den Wert auf
1MHz und schau, ob dann die Zeitdauer stimmt.

Markus

von Tobi (Gast)


Lesenswert?

HI;

Das mit dem internen Oszillator könnte sein!
Habe da nichts umgeschaltet; wie geht das????
Ich programmiere mit dem STK500.

Da das Programm nichts anderes tut als bis zum
Sanktnimmerleinstag irgendwelche Pins aus
und einzuschalten ist das END für den Chip unwichtig.
OK, für den Compiler, aber den juckt
das offensichtlich nicht ;) ...

Danke soweit...!!!
TO BE CONTINUED

Tobi

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.