- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Ergebnis 1 bis 6 von 6

Thema: kleine Entprellroutine - läuft nicht wie gedacht

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    25.08.2014
    Beiträge
    7
    Ein (spätes) Danke für die ersten Beiträge.


    Zitat Zitat von witkatz Beitrag anzeigen
    Der Maschinencode, den der Compiler aus der C-Routine gemacht hat ist sicherlich länger und dauert in der Ausführung auch länger als der Assembler-Code.
    Außerdem hast du im Assembler ein 8-bit Register verwendet, in C aber uint16_t. Weißt du was der Compiler aus 16-Bit Zuweisungen, Arithmetik- und Vergleichsoperatoren für einen unnötigen Maschinencode - Overhead erzeugt und was das für die Ausführungszeit bedeutet? Vielleicht liegt in der Ausführungszeit der Routine, die im Interrupt aufgerufen wird die Ursache des Problems?

    Das sind natürlich gute Punkte. Die Zählvariable war zuerst eine 8-Bit-Zahl. Ich hab dann eine 16-Bit-Zahl draus gemacht, um die Entprellzeit verlängern zu können. Aber in beiden Fällen macht mein Schalter das gleiche.

    Und wenn die Ausführungszeit der C-Variante deutlich länger ist: Sollte das dem Entprellen nicht zu gute kommen? Das ist ja hier keine zeitkritische Anwendung, kann meinetwegen auch ne halbe Sekunde dauern

  2. #2
    Erfahrener Benutzer Roboter-Spezialist Avatar von witkatz
    Registriert seit
    24.05.2006
    Ort
    NRW
    Alter
    54
    Beiträge
    553
    Blog-Einträge
    17
    Zitat Zitat von registriert Beitrag anzeigen
    Das ist ja hier keine zeitkritische Anwendung, kann meinetwegen auch ne halbe Sekunde dauern
    Da wäre ich mir eben nicht sicher. Die Entprellfunktion wird in dem C-Projekt in einer Interrupt-Routine aufgerufen, wenn ich das richtig deute. Interrupt-Routinen sollten immer zeitkritisch betrachtet werden, v.a. wenn die MCU gleichzeitig noch andere Interrupts wie z.B. die Timer-Interrupts noch bedienen soll.

Ähnliche Themen

  1. Atmega48 läuft auf eigener Platine nicht wie er soll!?
    Von DanielSan im Forum AVR Hardwarethemen
    Antworten: 19
    Letzter Beitrag: 09.08.2011, 17:54
  2. [läuft+Code] Servotest an ATtiny13 läuft nicht
    Von oberallgeier im Forum Motoren
    Antworten: 4
    Letzter Beitrag: 18.10.2007, 16:49
  3. Antworten: 3
    Letzter Beitrag: 15.08.2005, 16:41
  4. For-Next-Schleife läuft nicht so wie gewollt :(
    Von jagdfalke im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 24
    Letzter Beitrag: 04.07.2005, 16:20
  5. Hilfe!!! Mein Programm läuft nicht so wie ich will
    Von MrQu im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 24.10.2004, 23:28

Berechtigungen

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

12V Akku bauen