mikrocontroller.net

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


Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: andré (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Versuch die Einstellungen im Quellcode selbst ueber
$regfile =  und
$crystal =

zu machen!

mfg

Autor: Jan (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: leo9 (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian Pfanner (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.