Forum: Mikrocontroller und Digitale Elektronik PWM mit AT90s4433


von Andreas Juhl (Gast)


Angehängte Dateien:

Lesenswert?

Hallo, hab hier lange im Forum gesucht ob ich eine passende  Assembler 
Vorlage finde, aber hat irgendwie nicht geklappt.

Ich will mit einem AT90s4433 eine PWM erzeugen, aber mit dem Interrupt, 
also dass ich nebenher den Prozessor noch andere Sachen machen lassen 
kann.
Ich hab das AVR Studio 4 und kann leider die Englischen erklärungen zum 
Interrupt nicht so gut übersetzten.

Anbei mein vermurxtes Programm. vielleicht hat mir einer eine Idee.

Danke

von Andreas Wiese (Gast)


Lesenswert?

Hallo,

Guck mal hier:

http://www.mikrocontroller.net/forum/read-1-30463.html

Dann hast du mit den Interrupts überhaupt nichts zu tun, wird direkt vom 
Controller unterstützt.

Gruß
Andreas

von Andreas Juhl (Gast)


Lesenswert?

Danke für die schnelle Antwort.
Das hab ich aber auch schon ausprobiert, jetzt müsste laut beschreibung 
ja irgendwo (ich glaub PD5) ein rechtecksignal rauskommen, aber leider 
ist an keinem Pin was mit dem Oszi zu sehen? ist da mein Atmel wohl 
kaputt?

Was ich auch noch komisch fin, in der AVR-Studio IO Port ansicht gibts 
eigentlich nur den Port OCR1AH, Ansprechen kann ich aber nur den OCR1H. 
Ist das normal?

von Andreas Wiese (Gast)


Lesenswert?

Also das Rechtecksignal kommt auf OC1, also PB1!

Mit dem Studio, das könnte daran at, liegen, dass die AtMegas mehrere 
Compare-Register haben, also beim AtMega8 z.B. OCR1A und OCR1B. Da der 
4433 nur eins hat, heißt das einfach OCR1, kann sein, dass das beim 
Studio als OCR1A erscheint. und da das Compare-register 16 Bit hat also 
OCR1L und OCR1H.
Dann müsste das eigentlich funktionieren, hat es zumindest bei mir getan 
und bei Jan ja scheinbar auch.

Gruß
Andreas

von Andreas Juhl (Gast)


Lesenswert?

Also ich hab jetzt das Programm 1 zu 1 inst Studio kopiert, assembliert 
und mit Ponyprog eingebrannt, leider kommt an PB1 trotzdem nichts raus.
Ich hab auch mal den Atmel getauscht, und festgestellt, dass jetzt 
wenigstens das Ponyprog die dumme Write error fehlermeldung nicht mehr 
bringt, aber mehr geht leider auch nicht!

von Andreas Juhl (Gast)


Lesenswert?

Ok, sorry für die dumme Frage! hab den Fehler grad selbst gefunden, man 
muss natürlich noch die B-Ausgänge auf 1 stellen sonst kommt natürlich 
nichts raus!

ldi temp,0b11111111   ;Port B auf Ausgang schalten
      out DDRB, temp
  out PortB,temp    ;alle Ports B ausschalten

warum steht das beim Beispiel nicht mit dabei?

Ok danke mal trotzdem!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.