Mega16: 10ms = 1Sek??? hä?

Gast #93835
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.
Gast #93837
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
Gast #93840
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
Gast #93841
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren