- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 4 von 4

Thema: externen timer auslesen (74hc193) und differenz berrechnen

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    19.03.2011
    Ort
    Berlin Moabit
    Beiträge
    14

    externen timer auslesen (74hc193) und differenz berrechnen

    Hallo!

    Ich habe einen 4bit up/dwn timer an einen Port des Atmega angeschlossen.
    Der Timer wird mit 1Khz ausgelesen. Als return möchte ich die differenz als int8_t
    von -8 bis +8.
    Zudem soll der Code, aufgrund der hohen Frequenz, effizient sein!

    So funktionierts schonmal... aber da kann man sicher mächtig optimieren!
    Jemand nen Tipp??? Viele Dank!
    Code:
    ISR, 1Khz {
    static int old;                // alter Zählerstand
    int new, dir, diff;
    
    new = PINC & 0x0F;        // neuer Zählerstand, 4 bit ausmaskiert
    
    if (new > old) {
       diff = new - old;
       dir = 1;
    }
    else {
       diff = old - new;
       dir = -1;
    }
    
    if (diff > 8) {
       diff = (16 - diff);
       dir *= -1;
    }
    
    diff *= dir;
    
    old = new;
    return diff;
    }
    Geändert von TomSawer (19.03.2011 um 15:56 Uhr)

Berechtigungen

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

Labornetzteil AliExpress