www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik timer soft pwm und servos


Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hab ein problem. und zwar möchte ich zwei servos steuern. an port b 
pin 1 und 2 eines atmega 8515 auf einem sdk500.

ich programmiere ihn in c.

ich hatte das mit -delay_ms(); ausprobiert, was auch funktioniert hat 
und wollte nun ans genaue einstellen gehen, wozu das nun nichtmehr 
ausreichte. timer ´hies die dewise. nun hab ich mich hier und überall 
durch tutorials gearbeitet ohne wirklich weiter zu kommen. in dem einen 
wird der code bis zur unkenntlichkeit optimiert damit belastungszeiten 
von untert 0,5% für den uC rauskommen, der andere steuert das ganze über 
den URAT aber ein einfacher gut kommentierter einstieg mit code konnte 
ich nicht finden. dabei versteht man (ich) doch sowas am besten


#define F_Takt 123  //mikrosekunden zwischen zwei interrupts
int main(){



xyz      // initialisierung des timers
wwqe     // Einstellung des Timers

funktion(){  // Funktion die bei einem Interrupt aufgerufen wird.

}

return 0;
}

danke schonmal im vorraus für eure hilfe.

PS: gibt es villeicht ein tutorial im umgang mit dem Datenblatt alle 
verweisen zum thema timer auf das datenblatt, da steht aber nur, dass 
man nicht nur den prozessortakt sondern auch einen prescaler verwenden 
kann, nur wie das geht steht da nicht.

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie man den Timer und auch den Prescaler benutzt steht genaustens im 
Tutorial.

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
in dem tutorial hier 
(http://www.mikrocontroller.net/articles/AVR-GCC-Tu...) 
kann ich nicht eine zeile code sehen, die den timer einleitet oder 
sonstwas mit ihm macht.

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Sonke A. (soeni)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das tutorial meinte ich doch, wo finde ich da quellcode???

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da ist ne Menge Quellcode wo z.B. steht wie man Register und Bits setzt. 
Dann muss mann aus z.B.
ADMUX |= (1<<REFS1) | (1<<REFS0);
nur
TCCR1B |= (1<<CS10);
machen und fertig.
Was die Register bedeuten steht alles genasutens erklärt im Tuturial.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.