Hallo Forum! Ich bastle zur Zeit an einem kleinen Weihnachts-Projekt, bei dem 3 mal 2 LEDs mittels eines ATtiny10 einzeln heller und dunkler gedimmt werden sollen. Konkret geht es um mit Knopfzellen CR1216 betriebene Ohrringe. Einzeln blinken lassen kann ich die Teile, aber ich möchte eben eine Art pulsierendes Dimmen auf drei Kanälen erreichen. Auf zwei Kanälen ist das dank des internen Hardware-PWM-Moduls sogar mir möglich, für den dritten Kanal muss ich aber eine Implementierung in Software schreiben. Im angehängten Code habe ich versucht, den "zweiten Versuch" von hier https://www.mikrocontroller.net/articles/Soft-PWM mit weniger PWM-Frequenz und -Auflösung in einen 1MHz ATtiny zu implementieren. Erst mal mit vorgeschriebenen PWM-Werten, um das Fehlerrisiko zu minimieren. Was passiert ist aber folgendes: Die Pins PB0, PB1 und PB2 gehen auf low und alle LEDs leuchten mit voller Leuchtkraft (sind active low). Ich kann und möchte stumpfe Fehler nicht ausschließen, komme hier aber nicht mehr weiter. Offenbar initialisiert der Prozessor die Pins als Ausgänge, geht standardmäßig auf low und verbleibt dann da, weil er nie in die ISR kommt. Entweder läuft der Timer nicht an oder der Interrupt wird aus anderen Gründen nicht aufgerufen. Im angehängten Code läuft der Timer mit noch höherem Prescaler (64 glaube ich), das war eine meiner Testmaßnahmen, weil ich nicht weiß, ob der Timer-Takt der Systemtakt ist (also 1MHz) oder der Takt des internen Oszillators (8MHz). Edit: Hier das verwendete Datenblatt: http://ww1.microchip.com/downloads/en/DeviceDoc/atmel-8127-avr-8-bit-microcontroller-attiny4-attiny5-attiny9-attiny10_datasheet.pdf
:
Bearbeitet durch User
Tatsache. Ich wusste, es war was einfaches! Vielen Dank! Dann kann ich ja jetzt ans Optimieren gehen.
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.