mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM in 16-Bit Modus mit mega168 oder mega128


Autor: Abd Al (abdal66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe ein Problem die mega128 und 168 im 16-bit PWM Modus zu 
betreiben.

Im init habe ich folgendes code:
//TIMER1 initialize - prescale:256
// WGM: 7) PWM 10bit fast, TOP=0x03FF
// desired value: 100Hz
// actual value: 28,125Hz (255,6%)
void timer1_init(void)
{
 TCCR1B = 0x00; //stop
 TCNT1H = 0xFC; //setup
 TCNT1L = 0x01;
 OCR1AH = 0x03;
 OCR1AL = 0x00;
 OCR1BH = 0x03;
 OCR1BL = 0x00;
 ICR1H  = 0x03;
 ICR1L  = 0xFF;
 TCCR1A = 0xC3;
 TCCR1B = 0x0C; //start Timer
}

ansteuern tue ich mit folgender funktion:
void PWM(int PWM)
{
OCR1AH=PWM/0xFF);
OCR1AL=PWM%0xFF);
}

und es geht immer nur mit 10bit...

ATMEL schreibt in den Datenblättern beim 168er würde man über den Timer1 
einen und mit dem 128er sogar 6 16-biter PWMs erzeugen können.

Mit dem 128er wollte ich zwei 16bitter als ausgang, undzwar über timer1 
und dann OCR1An und OCR1Bn...
Geht auch nur 10Bit. ich versteh das nicht.

Würde mich sehr freuen wenn mir jemand verraten würde wie das mit den 
dingern mit 16bit geht.

gruss abdal

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich habe ein Problem die mega128 und 168 im 16-bit PWM Modus zu
> betreiben.

Dann gehört dein Posting nicht in die Codesammlung.

Du solltest dir übrigens angewöhnen, die Bits in den I/O-Registern mit 
Namen anzusprechen. Die einzelnen Bits wieder aus den Hexzahlen 
rauszuklamüsern ist wirklich umständlich und nervt.

Wie du in oben im Kommentar schon schreibst, benutzt du den Timer im 
Modus 7 (PWM 10bit fast). Wieso wundert es dich, dass du dann nur 10 Bit 
hast?

Autor: Abd Al (abdal66)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
...und wie kann mans in 16Bit modul einstellen???

Autor: Johannes A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Abd Al,
ich sehe, Du benutzt ICCAVR. Den kennen hier im Forum allerdings nur die 
wenigsten.
Für das, was Du haben willst, musst Du im AppBuilder den "Waveform mode" 
entsprechend einstellen.

Gruß Johannes


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.