PWM mit AT90s4433

Gast #33914
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
Angehängte Dateien:
Gast #33916
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?
Gast #33917
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
Gast #33918
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!
Gast #33919
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!

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