Guten Tag! ich bin mal wieder am Basteln und stehe vor einem Problem... Ich möchte gern mit einem Atmega8 gern zum einen ein Display (Samsung 2138A - 50530) mit Menüs und Tasten ansteuern, dies läuft auch soweit super - nun würde ich aber gern zusätzlich noch 8PWM-Kanäle für LED's verwenden, die man dann einstellen kann. Da so viel Kanäle benötigt werden ist wohl Software-PWM nötig. Das Display verwendet den Interupt TIM1_COMPA für die Ausgabe. (Abgeguckt bei Hannes.Lux - http://www.hanneslux.de/avr/stopuhr/index.html ) ;-) Es ist kein Problem, wenn sinnvoll auch auf eine Atmega32 umzusteigen. Wie mache ich das am besten? Hat jemand einen Tip für mich? Mit Dank schon mal im Vorraus C4ve
C4ve schrieb: > Das Display verwendet den Interupt TIM1_COMPA für die Ausgabe. > (Abgeguckt bei Hannes.Lux - > http://www.hanneslux.de/avr/stopuhr/index.html ) ;-) > > Wie mache ich das am besten? Hat jemand einen Tip für mich? Die Grundsatzfrage lautet: Mit welcher Frequenz soll die PWM laufen, bzw. eng damit zusammenhängend: wieviele Bits soll die PWM umfassen. Die vorhandene ISR wird zur Zeit mit ~800Hz aufgerufen. Da wird das dann schon eng, mit einer Software-PWM. Ich würde einen anderen Timer nehmen und in dessen ISR eine Software-PWM aufbauen > Es ist kein Problem, wenn sinnvoll auch auf eine Atmega32 umzusteigen. Wozu soll das gut sein? Die Anforderungern an deinen µC lauten: Taktfrequenz so hoch wie möglich. Genug Pins um 8 LED + Display + Tasten anzuschliessen. 32kByte Flash brauchst du nie und nimmer. Ausser natürlich, du hast einen Mega32 rumliegen, den du sonst für nichts anderes brauchst. Im AVR-Tutorial findest du einen Artikel, der sich mit Software-PWM beschäftigt.
> (Abgeguckt bei Hannes.Lux - Na dann bist Du ja schon etwas in Übung (an meinen unkonventionellen Programmierstil gewöhnt)... ;-) Aus dem halbfertigen (aber funktionsfähigen) Ding im Anhang kannst Du Dir ja dann auch das Konzept für die PWM abgucken. Es ist zwar nicht mehr mit Mega8 (sollte da aber reinpassen), weil da noch eine Menge Lichtshow-Sequenzen ins Flash sollen, auch nicht mit dem 24x8-LCD, sondern mit 40x4 (weil das so schön blau ist). Durch Umstellen der Ausgaberoutinen sollte es auch mit dem 24x8 laufen, allerdings sind die LCD-Routinen der Stoppuhr schon ganz schön alt, inzwischen nutze ich für LCD-Routinen einen Bildschirmspeicher im AVR-SRAM, das macht die ganze Ausgabe "sorgenfrei". ...
Vielen Dank für die Antworten! Ich bin leider noch nicht dazugekommen, weiter zu machen... werde wohl in den nächten Tagen mal reinschauen. MfG C4ve
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.