Hi, ich moechte mit einem Attiny13 drei PWMs erzeugen.Ich nehme den attiny13 aus Platzgruenden. Ich habe dafür das Program. Alllerdings leuchtet meine LED nur konstant ich glaube ich habe Probleme in der ISR. Ich moechte in der ISR die Variable a mit dem Inhalt des aktuellen Array Elements vergleichen. Also den Inhalt des Arrayelements auf das der jeweilige Pointer gerade zeigt.. Irgendwo habe ich da noch einen Fehler. Sehr ihr ihn?
Dein Array ist 255 Byte groß. Jetzt überleg mal wieviel Byte Ram dein Tiny13 hat. Und da das Array konstant ist, sollte man es sowieso in den Flash packen.
Meiner Erfahrung nach sollte man _delay_ms nicht im Attiny verwenden, da diese Funktion relativ viel Flash verbraucht.
Die ISR beginnst Du mit "sei()" und beendest sie mit "cli()". Abgesehen davon, dass man das in einer ISR weder machen muss noch machen soll (außer in einzelnen Ausnahmefällen, bei denen man genau weiß, was man tut), bewirkt das "cli()" am Ende, dass die ISR nie wieder aufgerufen wird.
chris schrieb: > Meiner Erfahrung nach sollte man _delay_ms nicht im Attiny verwenden, da > diese Funktion relativ viel Flash verbraucht. Darueber hab ich mir auch schon Gedanken gemacht und dass _delay_ms nicht die beste Art zu warten is ist mir auch klar aber wisst ihr wie man geschickter wartet?
HabwFallobst schrieb: > Dein Array ist 255 Byte groß. Jetzt überleg mal wieviel Byte Ram dein > Tiny13 hat. Und da das Array konstant ist, sollte man es sowieso in den > Flash packen. Stimmt hast recht.. Dass mach.ich.mit dem include pgmspace.h oder?
Edi R. schrieb: > Die ISR beginnst Du mit "sei()" und beendest sie mit "cli()". Abgesehen > davon, dass man das in einer ISR weder machen muss noch machen soll > (außer in einzelnen Ausnahmefällen, bei denen man genau weiß, was man > tut), bewirkt das "cli()" am Ende, dass die ISR nie wieder aufgerufen > wird. Das hab ich nich bedacht danke
tobi88 schrieb: > Stimmt hast recht.. Dass mach.ich.mit dem include pgmspace.h oder? http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Programmspeicher_.28Flash.29 tobi88 schrieb: > aber die nutzung der pointer ist sowit in ordnung=? Ja, das sieht auf den ersten Blick in Ordnung aus.
@ tobi88 (Gast) > main.c (5,1 KB, 44 Downloads) | Codeansicht Aua. >ich moechte mit einem Attiny13 drei PWMs erzeugen. Das macht man anders, siehe Soft-PWM. >Irgendwo habe ich da noch einen Fehler. Sehr ihr ihn? Du hast vergessen, ein C-Buch zu lesen. Fang mal mit Arrays und deren Initialisierung an. Ein Timer hilft bei dem Vorhaben ungemein.
> Du hast vergessen, ein C-Buch zu lesen. Fang mal mit Arrays und deren > Initialisierung an. Ein Timer hilft bei dem Vorhaben ungemein. der Timer habe ich in der Main?
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.