ich stehe erst am anfang meiner programmier laufbahn und habe schon die ersten probleme die ich nicht mehr (alleine) lösen kann: zu meinem fehler: ich habe den µc von AVR AT90S2313 und möchte mit dem eine PWM ausgeben mit einer frequenz von 220HZ bis 250HZ und wenn ich diese frequenz habe möchte ich die pulsweite verändern und da liegt mein problem ich bekomme das einfach nicht auf die reihe das zu ändern irgendwie hab ich immer ein tastverhältnis von 50% ich habe mein programm mal als anhang zugefügt hoffe jemand hat für mich einen tipp oder eine lösung für dieses problem
AVR-Tutorial: PWM MfG Falk
oh danke für die schnelle antwort nur geht bei das programm irgendwie nicht denke mal weil es ja nur für den "m8def.inc" geeignet ist oder? hatte nähmlich "m8def.inc" in "2313.inc" gewechselt und es kamen jede menge errors (leider)
@ Markus S. (schreiber) >hatte nähmlich "m8def.inc" in "2313.inc" gewechselt und es kamen jede >menge errors (leider) Muss man woghl ein wenig anpassen. Aber das prinzip ist das gleiche! Einfache ine Timer auf PWM konfigurieren, z.B. 8-Bit PWM. Dann kann man einfach den gewünschten PWM-Wert in ein Register laden und fertig. MfG Falk
damit ich das richtig versteh:
ldi temp1, 0x6F
out ICR1H, temp1
ldi temp1, 0xFF
out ICR1L, temp1
das ist doch der zähler der immer von 0 bis z.b. 255 oder so zählt oder?
ldi temp1, 0x3F
out OCR1AH, temp1
ldi temp1, 0xFF
out OCR1AL, temp1
und das ist der compare wert der mir die pulsgröße gibt stimmts
und wenn ich jetzt OCR1AH veränder müsste sich doch dann auch die
pulsweite verändern oder?
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.