Wie erzeuge ich ein Hardware PWM mit 8Bit Timer0 ?

OP #3569866
Lesenswert?
• ▲
▼
Hallo alle miteinander!!!

Ich hätte zum altbekannten Thema PWM noch eine Frage.

Für meine TA habe ich das Projekt eine Sortiermaschine anhand eines 
Roboterarms mit 6 Servo`s zu programmieren. Die 4 PWM-Signale mit Timer1 
und Timer3 funktionieren problemlos, da ich aber sechs PC-PWM Signale 
benötige brauche ich auch noch einen der 8Bit Timer 0 oder 2.

Die 8Bit Timer besitzen jedoch kein ICR- Register, wie erzeuge ich hier 
das Rücksetzten des Signals??

Also Code beispiel, hier der Timer1:
1
  TCCR1A |= (1<<COM1A0|1<<COM1A1|1<<COM1B0|1<<COM1B1|1<<WGM11);
2
  TCCR1B |= (1<<WGM13|1<<CS11);
3
  TIMSK1 |= (1<<OCIE1A | 1<<OCIE1B);
4
  
5
   ICR1 =    1000; //Reset  both Signals to Zero (A+B)
6
   OCR1A =   930; //Set Signal A to One
7
   OCR1B =   900; //Set Signal B to One

Vielleicht hat mir jemand einen Tipp, wie das am einfachsten mit einem 
8Bit Timer zu realisieren waäre!!


Schon mal im Voraus vielen Dank für eure Hilfe!!
OP #3579012
Lesenswert?
• ▲
▼
Danke für eure Antworten.

Lösung für das PC-PWM mit dem 8-Bit Timer:

1
/************************************************************************/
2
/*                Configuration of Timer0 PC-PWM:
3
*CS01=1 -> PS =8
4
*WGM00 =1 -> PC-PWM (Mode 1)     
5
*OCR1x = 62 -> 1ms  / ca.93 ->1,5 / 124 ->2ms                           */      /************************************************************************/
6

7
TCCR0A |= (1<<COM0A1)|(1<<COM0B1)|(1<<WGM00);
8
TCCR0B |= (1<<CS01);
9
TIMSK0 |= (1<<OCIE1A | 1<<OCIE1B);
10
      
11
OCR0A =   93; //Set Signal A to One
12
OCR0B =   93; //Set Signal B to One

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.