Hallo, habe mir vor einer Woche einen mkII und einige attiny85 bestellt und bin seit ein paar Tagen mehr auf microkontroller.net als mit meinen Kindern. Mein Problem, ich bin blutiger Anfänger (Ich weis.. AVR Tutorial- AVR-Gcc Tutorial lesen, Asembler verwenden Datasheet... usw), möchte aber trotzdem durch kopieren einzelner kleiner Stücke kleinigkeiten bauen. Mein Projekt Eintaster und PWM, habe bereits versucht Entprellung von Peter Dannegger(Grosses Dankeschön an Herrn Ing.) zu adaptieren, wahrscheinlich stümperhaft und habe eine funktionierende Pwm Steuerung gefunden. Allerdings bekomme ich beide nicht in eine funktionierende Aplikation, wahrscheinlich wegen dem TCCR0B – Timer/Counter Control Register. In der Entprellung (1<<CS02)|(1<<CS00); fürdie PWM TCCR0B = 0; dann TCCR0B |= (1<<CS00); An und für sich würden Beide Teile ja halbwegs funktionieren jedoch nicht so zusammen, der letzte Teil mit dem Menu stellt nur ein optisches feedback am breadboard da. ich wäre sehr dankbar für konkrete Hilfe, da ich sonst bis zum Vollständigen Verständnis der sehr komplexen Materie noch tausendundeinenacht schlaflos verbringen muss. Danke im Vorraus peter ps wollte den Quelltext in den Beitrag einfügen, ist mir aber zum Glück nicht gelungen da eh zu lang.
Der ATtiny85 hat 2 Timer. Es ist daher für Dich einfacher, Entprellen und PWM mit verschiedenen Timern zu machen. Peter
hallo Peter Vielen Dank für die frühe Antwort, leider bin ich noch zu dumm um aus dem Datasheet einen zweiten Timer aus: DDRB |= (1<<PB0); TCCR0B = 0; TCCR0A = (1<<WGM00)|(1<<WGM01); TCCR0A |= (1<<COM0A1); OCR0A = 10; //duty cycle TCCR0B |= (1<<CS00); zu erstellen,wenn Du mich bitte mit dem Zaunpfahl hauen könntest. Danke
Guckst Du im PDF Chapter 11 Timer0 mit PWM gefolgt von Chapter 12 Timer1 :-) Dann nimmst Du logischerweise den Timer0 mit der Hardware-PWM für die Signalausgabe und Timer1 für die Zeit und Tastenentprellen usw.
Peter E. schrieb: > hallo Peter > Vielen Dank für die frühe Antwort, > leider bin ich noch zu dumm um aus dem Datasheet einen zweiten Timer > aus: Dann wirds Zeit. FAQ: Timer 'Leder kann ich das nicht' ist oft ein Synonym für 'Ich will das nicht machen, bitte macht ihr das für mich'. Hilft nichts. Da musst du durch. Und soooo kompliziert ist das nicht. AUf Dauer kommt man eben nicht mit reinem Copy&Paste durch. Leg erst mal die Entprellung zur Seite, fang ein neues Projekt an, verkabel eine LED an den OCR-Ausgang des Timers mit der PWM und schreib dir ein Programm, mit welchem du die PWM losgelöst von allem anderen testen kannst.
So danke euch beiden scherzkeks und Karl Heinz Buchegger, Tja wenn ich gestern und vorgestern nicht um 5 morgens das tutorial und pdf geschlossen hätte, würde ich nicht fragen.... @KHB: Losgelöst funktioner die PWm ja gut in allen Facettten ... Entprellung ist auch allererste Sahne, und Probleme zerlegen ist immer gut. Da werd ich wohl doch alleine druch müssen, scherzkeks, sind eh nur 31 Seiten, allerdings ohne Kontext! Danke für den Tip (Timer0 mit der Hardware-PWM)
Peter E. schrieb: > So danke euch beiden scherzkeks und Karl Heinz Buchegger, > Tja wenn ich gestern und vorgestern nicht um 5 morgens das tutorial und > pdf geschlossen hätte, würde ich nicht fragen.... > @KHB: Losgelöst funktioner die PWm ja gut in allen Facettten ... Welche? Die mit einem Timer realisierte, oder deine Notlösung mit Selber-zählen in der Hauptschleife. Wenn das nicht klar rausgekommen ist: Du sollst dir mit einem Timer eine PWM realsieren, wobei der Timer die PWM ganz alleine macht. Das ist ein 6-Zeiler!
Peter E. schrieb: > Da werd ich wohl doch alleine druch müssen, scherzkeks, sind eh nur 31 > Seiten, allerdings ohne Kontext! Schon klar :-P Die Register für'n Timer0 stehen in Chapter 11.9 und die für'n Timer1 in Chapter 12.3 Nun müßtest Du nur noch verstehen was die Timer machen und wie Du sie so einstellst das eine PWM bzw. eine Zeitbasis entsteht. Dafür ist das Tutorial gut geeignet ;-)
scherzkeks schrieb: > Peter E. schrieb: >> Da werd ich wohl doch alleine druch müssen, scherzkeks, sind eh nur 31 >> Seiten, allerdings ohne Kontext! > > Schon klar :-P > Die Register für'n Timer0 stehen in Chapter 11.9 und die für'n Timer1 in > Chapter 12.3 > Nun müßtest Du nur noch verstehen was die Timer machen und wie Du sie so > einstellst das eine PWM bzw. eine Zeitbasis entsteht. > Dafür ist das Tutorial gut geeignet ;-) Und da sowas oft gefragt wird, hab ich auch in die FAQ einen Abschnitt "Was sie schon immer über Timer wissen wollten aber im Datenblatt nicht gefunden haben" eingefügt. FAQ: Timer Da steht zwar nur das wichtigste drinnen, aber das sollte für Standardfälle ausreichend sein. Und ja, da ist auch ein Abschnitt über PWM drinnen. Und wenn er in die FAQ reingeschaut hätte, hätte er seine erste Timer-basierte PWM schon längst am laufen. Peter E. Ich geb dir die Links schon aus gutem Grund. Aber du musst sie dir auch ansehen! Ich weiß schon, dass es dir am liebsten wäre, wenn dir hier wer auf deine Anfrage einen Code postet. Und zwar genau den, den du brauchst und extra für dich abgestimmt. Das ist allerdings nicht die Philosophie des Forums, das zu tun. Zumindest nicht bei Standardaufgaben, die man als Programmierer beherrschen muss.
Super Danke für die Antworten und Tips, jetzt wirds klappen. am Rande an Herrn Karl Heinz Buchegger > 'Leder kann ich das nicht' ist oft ein Synonym für 'Ich will das nicht machen, bitte macht ihr das für mich'. Finde ich jetzt nicht gerade beleidigend, aber ich würde mir da nie was nehmen lassen, was ich selbst schaffen könnte, gerade in einem Freizeitbereich,(würde eher zu einerm Schüler passen der null Bock auf ein aufgedrücktes Projekt hat das ihm am Ar.. vorbeigeht), hast aber recht ich hätte solche Anfängerfragen einfach nicht fragen dürfen, ohne zumindest die Grundkenntnisse erworben zu haben. schönen Abend großes Dankeschön norchmal
Peter E. schrieb: > Super Danke für die Antworten und Tips, jetzt wirds klappen. > > am Rande an Herrn Karl Heinz Buchegger > 'Leder kann ich das nicht' ist > oft ein Synonym für 'Ich will das nicht machen, bitte macht ihr das für > mich'. > Finde ich jetzt nicht gerade beleidigend, aber ich würde mir da nie was > nehmen lassen, was ich selbst schaffen könnte, gerade in einem > Freizeitbereich,(würde eher zu einerm Schüler passen der null Bock auf > ein aufgedrücktes Projekt hat das ihm am Ar.. vorbeigeht), hast aber > recht ich hätte solche Anfängerfragen einfach nicht fragen dürfen, ohne > zumindest die Grundkenntnisse erworben zu haben. Na ja. Was soll dann der Quatsch mit 'ich bin zu dumm' Versuch dein Bestes und wenns nicht klappt, dann zeig den Code und jemand wird dir zeigen wo die Probleme liegen. Aber das klang so nach Mitleid-Heischen: Ich kaaaansss nicht - bitte macht ihr mal.
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.