mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schnelle Abfrage


Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich muss sehr rasch eine Signaländerung reagieren.
Leider habe ich weder Timer (Mit PWM belegt) noch externe Interrupts
mehr frei, aber noch Rechenzeit übrig.
Der ATMega8 läuft mit 8Mhz.

Wie viele Takte benötigt folgender Code? D.H. wie lange dauert es
zwischen 2 Abfragen?

  while (!(PINC & (1<<PINC2)) && (i < 65535)) {  //Solange PinC LOW ist

    i++;
    // asm volatile ("nop");
  }

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dürfte vom Compiler abhängen... Kannst Du vielleicht einen Assembler -
Zwischencode erzeugen lassen? Oder besser die ganze Schleife in ASM
programmieren? Dann bekommst Du es leicht heraus...

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Compilieren lassen und ins Listing schauen, dann kannst du die
benötigten Takte auszählen.

Autor: Lukas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie kann ich mir das von GCC erstellte Listing in verständlicher Form
ansehen?
Wäre es nicht besser die Schleife gleich in Inline - Assembler zu
schreiben? Leider habe ich damit aber keine Erfahrungen...

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.