- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: CTC Modus

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.242
    Überleg mal, was Du da tust.
    Der Controller hat gerade mal 32 Taktzyklen, bevor wieder eine neuer Interrupt ausgelöst wird.
    Das reicht noch nicht mal zum sichern aller Register!
    Ich würd die Telegrammaufbereitung anders machen.
    Nimm den Timer 1 mit einem Prescaler von 8.
    Somit ist ein Takt 0,5µs lang.
    Dann trägst Du in das OCR Register die gewünschte Puls bzw. Pausenlänge + den aktuellen OCR Register Inhalt ein.
    Dann musst Du nur noch ein Flag setzen, ob ein Impuls oder ne Pause dran ist und den entsprechenden Port Ein- bzw. Ausschalten.
    Dadurch ist ein Impulsauflösung von 0,5µs gegeben, das entspricht etwa 2000 sinnvollen Werten für 1ms, das schafft so gut wie keine Anlage.

    Auch für einen kurzen Impuls von 1ms hat dein Controller 2000*8 also 16000 Taktzyklen Zeit, bevor er wieder einen Interrupt abarbeiten muss.

    Solche Fehler wie Deinen kann man wunderbar mit dem Simulator vom AVR Studio 4.xx nachvollziehen.
    Dann wirst Du merken, das der Controller ständig nur den Interrupt ausführt und auch welche verpasst ( Der Comparematch Interrupt hat nur ein Flag ).

  2. #2
    Neuer Benutzer
    Registriert seit
    17.12.2009
    Ort
    Lorsch
    Alter
    34
    Beiträge
    2
    Vielen Dank für diese Antwort.

    Da ich noch blutiger Anfänger im Bereich Mikrocontroller und C Programmierung bin, hab ich mich schon sehr über meine "funktionierende" Lösung gefreut. Nach deinem Beitrag und sehr elegantem Lösungsvorschlag muss ich wohl nochmal neu ran und die Anwendungsbereiche für Interrups nochmal neu überdenken.
    ______________________________________________

    Träume nicht dein Leben,
    sondern lebe deine Traum.

Ähnliche Themen

  1. CTC Modus - irgendwo muss doch ein Fehler sein
    Von wisda.noobie im Forum Arduino -Plattform
    Antworten: 7
    Letzter Beitrag: 23.06.2013, 19:03
  2. [ERLEDIGT] Hilfe bei Atmega8 Timer/Counter1 für CTC Modus
    Von robotka im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 22.03.2013, 18:51
  3. Problem mit Timer1 als Counter im CTC Modus und Interupt
    Von Anam52 im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 7
    Letzter Beitrag: 26.02.2013, 15:34
  4. CTC Mode
    Von Thorsten im Forum C - Programmierung (GCC u.a.)
    Antworten: 6
    Letzter Beitrag: 22.09.2006, 11:55
  5. CTC
    Von surfer im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 24.07.2005, 09:26

Berechtigungen

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

12V Akku bauen