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
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
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?
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
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!
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.