Forum: Mikrocontroller und Digitale Elektronik Atmega8 - Ausgangsport/Verständnisfrage?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stefan (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Hallo,

habe gerade folgenden Code auf den Atmega8 geflasht:

int main (void) {

   DDRB=0xFF;

   while(1)
   {
     PORTB ^= 1;
   }
}

Mit dem Oszi messe ich an dem Port ein Rechtecksignal mit 102kHz.
Jetzt ist die Frage warum das Signal nicht annähernd an die 16MHz 
Taktrate rankommt?

Danke

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Weil der Controller wahrscheinlich mit 1Mhz läuft und 10 Zyklen für die 
Schleife benötigt.

von Dussel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Der Rücksprung braucht schonmal 3-4 Befehle, das xor und das Zuweisen 
nochmal zwei, und je nachdem wie der Compiler (nicht) optimiert, dauert 
das Testen der Bedingung und das Laden und Speicher nochmal jeweils 
einen Takt.

von Mika (Gast)


Bewertung
0 lesenswert
nicht lesenswert
>Jetzt ist die Frage warum das Signal nicht annähernd an die 16MHz
>Taktrate rankommt?

Jetzt ist die Frage wie man auf so eine Frage kommt bzw. wie man darauf 
kommt da 16MHz zu erwarten?

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Die nächste Frage lautet dann: Ich kann meinen Controller nicht mehr 
programmieren, weil ich an den Clock-Fuses herumgespielt habe...? Also 
bitte genau gucken, was Du da einstellst.

von ftf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
mit dem CTC-Modus eines Timers kannst du auf bis zu 1/2*takt rankommen. 
mehr geht afaik nicht. eine schleife ist IMMER langsamer

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.