- Labornetzteil AliExpress         
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 11 bis 20 von 30

Thema: Zeitschleife Mikrocontroller

  1. #11
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Anzeige

    Praxistest und DIY Projekte
    Dir ist aber schon klar das in der Wartezeit das komplette Programm steht. Es sind weder Eingaben noch Ausgaben möglich.
    Für diese Aufgaben sind die Timer vorgesehen.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    897
    Zitat Zitat von Hubert.G Beitrag anzeigen
    Dir ist aber schon klar das in der Wartezeit das komplette Programm steht. Es sind weder Eingaben noch Ausgaben möglich.
    Für diese Aufgaben sind die Timer vorgesehen.
    Klares "Jein" dazu.
    Das kommt auf den Anwendungsfall an. Ich persönlich finde es grausam, ein Konstrukt über einen Timer zu entwerfen, dass mir z.B. das Blinken einer einfachen Betriebs-LED im Sekundentakt erlaubt (am Blinken über die Wait-Routine siehst Du sogar, wie Deine IRQ-Auslastung ist).
    Alles in IRQs auzulagern, während das Hauptprogramm sich bei
    Main: jmp Main
    in der Nase bohrt, ist auch Kappes.

    Timer verwendest Du, wenn Du ein Timing (nach oben und nach unten, z.B. UART-Emulation) einhalten willst. Die Verwendung von einfachen Warteschleifen zur Einhaltung von Mindestzeiten (z.B. Tastenentprellen, I2C-Emulation,...) ist meiner Ansicht nach legal.

  3. #13
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.220
    Das ist wohl etwas Ansichtssache. Ich verwende wait-Routinen ausschließlich nur vor dem main um zu warten bis externe Geräte oder Bauteile Ready sind oder um auf dem Display Programmname und Versionsnummer anzuzeigen.
    Innerhalb der main gibt es nur Timer, wenn es ein ernst gemeintes Programm ist. Ein "blinky" zählt nicht dazu.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  4. #14
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.678
    Zitat Zitat von Holomino Beitrag anzeigen
    .. Klares "Jein" .. während das Hauptprogramm sich bei ... Main: jmp Main ... in der Nase bohrt, ist auch Kappes ...
    Ein klares, hartes, umfassendes Urteil! Nur, obs stimmt? Ich weiß nicht ob das nur Ansichtssache oder (auch) Programmierstil ist, aber ich kann Hubert.G nur uneingeschränkt beipflichten.
    Ciao sagt der JoeamBerg

  5. #15
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    897
    Zitat Zitat von oberallgeier Beitrag anzeigen
    Ein klares, hartes, umfassendes Urteil! Nur, obs stimmt? Ich weiß nicht ob das nur Ansichtssache oder (auch) Programmierstil ist, aber ich kann Hubert.G nur uneingeschränkt beipflichten.

    Das ist weder ein klares noch ein hartes Urteil. Eher die Erfahrung aus der Praxis, die zeigt, dass auch von Anfängern zusammengefummelte Lösungen neben der Norm exzellent laufen können, dass man Anfängern ihre Lernkurve und die verbundenen Fehler zugestehen muss. Die Ansprüche steigen mit der Zeit automatisch, damit die Wissbegierde und der Kenntnisstand. Dazwischen aber müssen erst einmal spielerische Erfolgserlebnisse her.

    Schau mal im AVR-Tutorial bei Mikrocontroller.net (oder in Dein altes AVR-Assembler-Buch im Regal), in welchem Kapitel Timer angesprochen werden. Über den didaktischen Sinn, diese Infos in die zweite Hälfte des Lehrinhaltes zu schieben, mag ich mich mit Dir nicht streiten (und Du sicherlich auch nicht mit den Autoren).

  6. #16
    Robobionic
    Gast
    Zitat Zitat von Holomino Beitrag anzeigen
    Das ist weder ein klares noch ein hartes Urteil. Eher die Erfahrung aus der Praxis, die zeigt, dass auch von Anfängern zusammengefummelte Lösungen neben der Norm exzellent laufen können, dass man Anfängern ihre Lernkurve und die verbundenen Fehler zugestehen muss. Die Ansprüche steigen mit der Zeit automatisch, damit die Wissbegierde und der Kenntnisstand. Dazwischen aber müssen erst einmal spielerische Erfolgserlebnisse her.
    Einem Anfänger zu empfehlen er könnte sich zwecks schneller Teilerfolge einen schlechten Stil angewöhnen und davon auszugehen seine Ansprüche würden noch steigen halte ich für ein Gerücht.
    Wie soll so jemand den Ansprüche entwickeln, wenn er bereits am Anfang keinen Wert auf Qualität und Normen legt?

  7. #17
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    897
    Kein Gerücht, siehe Hubert G.:
    Noch 2014 hat Hubert G. bei einem LED-Problem geholfen, siehe https://www.roboternetz.de/community...ight=Hubert+G.
    Damals hielt er die Verwendung der _delay_ms-Funktion in der Main für legitim,
    Heute schließt er dies quasi aus.
    Der hat sich weiterentwickelt.


    Übrigens: Lass mich bitte nicht dumm sterben: Wo steht diese Norm? Ist das schon ISO-zertifiziert? Ich lerne gern.

  8. #18
    Robobionic
    Gast
    Zitat Zitat von Holomino Beitrag anzeigen
    Kein Gerücht, siehe Hubert G.:
    Noch 2014 hat Hubert G. bei einem LED-Problem geholfen, siehe https://www.roboternetz.de/community...ight=Hubert+G.
    Damals hielt er die Verwendung der _delay_ms-Funktion in der Main für legitim,
    Heute schließt er dies quasi aus.
    Der hat sich weiterentwickelt.
    Ich wüsste nicht weshalb solche Beispiele der Maßstab für Anfänger sein sollten.

    Zitat Zitat von Holomino
    Übrigens: Lass mich bitte nicht dumm sterben: Wo steht diese Norm? Ist das schon ISO-zertifiziert? Ich lerne gern.
    Ich bezweifle das Du gerne lernst, Du hast sie selbst erwähnt.

    Zitat Zitat von Holomino
    Eher die Erfahrung aus der Praxis, die zeigt, dass auch von Anfängern zusammengefummelte Lösungen neben der Norm exzellent laufen können

  9. #19
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Zitat Zitat von Holomino Beitrag anzeigen
    Alles in IRQs auzulagern, während das Hauptprogramm sich bei
    Main: jmp Main
    in der Nase bohrt, ist auch Kappes.
    Ein bischen länger darfs schon sein:
    Code:
    while(1) {
         sleep();
    }
    Bei den meisten Betriebssystemen sieht die Mainloop so aus.

    Timer verwendest Du, wenn Du ein Timing (nach oben und nach unten, z.B. UART-Emulation) einhalten willst. Die Verwendung von einfachen Warteschleifen zur Einhaltung von Mindestzeiten (z.B. Tastenentprellen, I2C-Emulation,...) ist meiner Ansicht nach legal.
    Alles, was der Compiler schluckt, ist legal, trotzdem gibt es einen Unterschied zwischen Lehrlingsarbeit und Meisterwerk. Die meisten Delays kann man in einem regelmäßigen Timertick abhandeln, insbesondere das Einhalten von Mindestzeiten und gerade das Entprellen von Tasten, auch mehreren gleichzeitig. Und wenn man sein System sauber analysiert und geplant hat, fällt möglicherweise das Timing für ein SW-UART for free ab.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

  10. #20
    Erfahrener Benutzer Roboter Genie Avatar von White_Fox
    Registriert seit
    04.10.2011
    Beiträge
    1.473
    Zitat Zitat von Roboionic
    Einem Anfänger zu empfehlen er könnte sich zwecks schneller Teilerfolge einen schlechten Stil angewöhnen und davon auszugehen seine Ansprüche würden noch steigen halte ich für ein Gerücht.
    Warum sollte das schlechter Stil sein? Weil es nicht dein Stil ist?
    Schlechter Stil ist meiner Meinung nach eher herumzuprogrammieren, ohne sich vorher wenigstens mal ein paar Notizen zum Programmablauf zu machen...von einem sauberen Ablaufdiagramm ganz zu schweigen. Oder gar das Verzichten auf Kommentare.

    Gegen sowas finde ich einfache Zählschleifen als Warteroutine gut verzeihlich...gerade für Anfänger. Ob eine Lösung gut ist oder nicht, richtet sich meiner Meinung nach eher nach dem Anwendungsfall. Die Pauschalaussage "Das ist schlechter Stil" ist allzu oft völlig unbegründet. Dies hier halte ich für so einen Fall.

Seite 2 von 3 ErsteErste 123 LetzteLetzte

Ähnliche Themen

  1. Zeitschleife Mikrocontroller
    Von sisi im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 4
    Letzter Beitrag: 08.10.2015, 21:44
  2. [ERLEDIGT] Zeitschleife zu kurz....ATTiny2313
    Von oderlachs im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 10.03.2013, 16:10
  3. Taster mit Zeitschleife
    Von bnitram im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 15
    Letzter Beitrag: 28.05.2010, 19:01
  4. Zeitschleife
    Von Exodus im Forum AVR Hardwarethemen
    Antworten: 4
    Letzter Beitrag: 07.06.2006, 18:32
  5. Zeitschleife
    Von Exodus im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 01.06.2006, 15:34

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress