PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PWM ATMega32



tanger
15.10.2006, 14:51
hi

ich hätte noch ne frage wegen des PWM Signals das wäre der code den ich kopiert habe ... der funktioniert aber nicht so wie ich denke ( = ... ich messe an OC1A OC1B pin 19/18 beim atmega32

hat noch jemand eine idee was ich falsch mache ?



#include <avr/io.h>


/* Timer1 initialisieren */
void timer1_init(void);


int main(void)
{
/* Timer1 initialisieren */
timer1_init();

OCR1AL = 0xff;
OCR1BL = 0x7f;

while (1)
;
}

/* Timer1 initialisieren */
void timer1_init(void)
{
/* normale 8-bit PWM aktivieren ( nicht invertiert ),
Das Bit WGM10 wird im Datenblatt auch als PWM10 bezeichnet */
TCCR1A = (1<<COM1A1)|(1<<COM1B1)|(1<<WGM10);

/* Einstellen der PWM-Frequenz auf 14 kHz ( Prescaler = 1 ) */
TCCR1B = (1<<CS10);

/* Interrupts für Timer1 deaktivieren
Achtung : Auch die Interrupts für die anderen Timer stehen in diesem Register */
TIMSK &= ~0x3c;
} [/quote]

SprinterSB
16.10.2006, 08:53
-- Wo stellst du die PWM-Pins auf OUT?
-- Du solltest immer OCR1A, OCR1B schreiben, die die 8-Bit Teilregister OCR1AL, OCR1H, ...

tanger
16.10.2006, 19:14
alles klar probier ich mal aus danke