- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 12

Thema: Probleme mit IF-Abfrage / Timer

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    17.12.2005
    Ort
    Untermain
    Beiträge
    58
    Hi ihr beiden!

    Danke euch für eure Unterstützung!

    @Sternst: Vielen, vielen dank für diese Erklärung! Das wird mich vermutlich in Zukunft vor solchen Problemen bewahren.
    ich hab befürchtet, dass ich was prinzipiell einfaches übersehen hab...

    Code:
    ATOMIC_BLOCK(ATOMIC_FORCEON){
    ...
    }
    ist das selbe wie
    Code:
    cli();
    ... 
    sei();
    oder? Nur, dass ich nicht noch "util/atomic.h" include (wenn ich die Datei richtig lese...).

    @TobiKa: An der Hochschule hat man mir eingebleut, dass Interruptroutinen so kurz wie nur irgendmöglich sein sollen. Daher hab' ich die (unkritischen) Teile aus der Routine herausgelöst...
    Und wenn ich es in den Interrupt lege sehe ich auch keinen echten Vorteil...

  2. #2
    Erfahrener Benutzer Roboter Experte Avatar von sternst
    Registriert seit
    07.07.2008
    Beiträge
    672
    ist das selbe wie
    Nun, fast.
    ATOMIC_BLOCK bietet einen besseren Schutz gegen Code-Reordering. Und es stellt sicher, dass die Interrupts wieder eingeschaltet werden, egal auf welchem Exit-Pfad der Code-Block verlassen wird (du kannst sogar ohne Probleme "return" innerhalb des Blockes verwenden).
    MfG
    Stefan

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.04.2010
    Beiträge
    1.249
    @TobiKa: An der Hochschule hat man mir eingebleut, dass Interruptroutinen so kurz wie nur irgendmöglich sein sollen. Daher hab' ich die (unkritischen) Teile aus der Routine herausgelöst...
    Und wenn ich es in den Interrupt lege sehe ich auch keinen echten Vorteil...
    Ja da hast du schon recht, aber 3 Abfragen und 3 Zuweisungen sollten kein Problem sein.
    Ich sehe bei deiner Variante Probleme falls "UART" mal länger braucht und g_msec irgendwann überläuft.

Ähnliche Themen

  1. interne pull up widerstand/ probleme mit der tasten abfrage
    Von Asuro91 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 06.06.2010, 14:36
  2. problem mit button-abfrage im timer (c#)
    Von Roboman93 im Forum Open Source Software Projekte
    Antworten: 4
    Letzter Beitrag: 29.12.2008, 17:40
  3. Probleme mit Timer und ATMega 32
    Von steffen21m im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 07.01.2008, 19:17
  4. Radencoder- und Timer-Probleme
    Von Speedking im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 26.07.2006, 22:18
  5. Anfängerfrage: Timer-Abfrage beim PIC 10F206???
    Von JayCool im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 07.06.2006, 10:23

Berechtigungen

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

Labornetzteil AliExpress