PWM beim AT MEGA 8

#2966648
Lesenswert?

Hallo,

habe auf der Seite
http://www.electronicsblog.net/atmega8-pwm-controlfrequencypolarityduty-cycle-example-tutorial-with-program/

einen guten einstieg in die PWM mit ATMEG 8 Bekommen.
Und auch verstanden wie ich die PWM anpasse. an Frequenz und 
Tastverhältniss.

Jedoch

wollte ich statt
1
DDRB=0x08;
 Port B Pin 3 ( vom Ursprunglichen Programm)
lieber den PIN 1 des Port B Benutzen
1
DDRB=0x01;
benutzen.

Jedoch funktioniert es nicht.

Witwerhin Stellt sich die Frage ab ich die PWM beim AT MEGA 88 auf den 
PIN 5 und 6 des PORT D ausgeben lassen kann.

Danke für eure Hilfe im voraus
#2966752
Lesenswert?

Danke Chris,

So ungefähr habe ich es mit dem Datenblatt verstanden.

Da ich mit dem mega 88 gerade noch nicht arbeiten kann muss noch warten 
bis der Kommunitone das Layout endlich fertig erstellt hat.

Versuche ich es auf meinem Selbstgebauten Mega 8 Evaluierungsbord.

Hier haben ich mal den Simultanen versuch gewagt.
Beim Atmel Mega 8 die beiden Anschlüsse PINS

OC1B  --> PB2
OC1A  --> PB1

ine PWM zu erzeugen


1
#include <avr/io.h>
2
#include <avr/iom8.h>
3
int main( void )
4
{
5
DDRB=0xff;
6

7
OCR1AH = 0x0f;
8
OCR1AL = 0xff; 
9
OCR1BH = 0x0f; 
10
OCR1AL = 0xff; 
11

12
TCCR1A=  (0<<COM1A1) | (1<<COM1A0) | (1<<COM1B1) | (0<<COM1B0) | (1<<FOC1A) | (1<<FOC1B) | (1<<WGM11) | (0<<WGM10);
13
TCCR1A =  (0<<ICNC1) | (1<<ICES1) | (0<<WGM13) | (1<<WGM12) | (1<<CS12) | (1<<CS11) | (0<<CS10); 
14
while (1) {};
15
}

PS . kann ich den Code auch mit Syntaxihlighting einbinden ?
#2966778
Lesenswert?

Sorry habe gleich selber paar fehler gefunden!

hier nochmal richtig

Jedoch Funktioniert NUR der PB1 OC1A
1
#include <avr/io.h>
2
#include <avr/iom8.h>
3
int main( void )
4
{
5
DDRB=0xff;
6

7
OCR1A = 0xff;
8

9
OCR1B = 0xff; 
10

11

12
TCCR1A=  (1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<FOC1A) | (0<<FOC1B) | (1<<WGM11) | (0<<WGM10);
13
TCCR1B =  (0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (1<<WGM12) | (1<<CS12) | (0<<CS11) | (0<<CS10); // --> Siehe Datenblatt s 98 ff
14
while (1) {};
15
}

P.S. Wie kann ich Quellcode mit Syntaxhihlighting einbinden ?

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren