Ich verwende die folgende Lib an einem Arduino Uno / ATMega328: https://github.com/z3t0/Arduino-IRremote Beim Versuch, PWM mittels analogwrite auszugeben stelle ich das folgende Verhalten fest. Pinbelegung gemäss Arduino Uno - IRlib verwendet Pin 13 - Pin 6/9/10 geben PWM aus - Beim Versuch, auf Pin3 oder Pin11 PWM auszugeben crasht der Controller. Das erklärt sich weil sie auf denselben Timer zugreifen - Pin 5 geht nicht mehr Das passiert nur, solange die lib inkludiert ist. Sonst funktionieren alle Pins mit PWM. Die lib verwendet soweit ich das sehen konnte Timer2. Die anderen beiden Timer stehen noch für PWM zur Verfügung. Hat jemand eine Erklärung warum Pin5 kein PWM mehr ausgibt?
Eben. Die vorgefertigten libs verwenden irgendwelche Resourcen und können kollidieren. Es bleibt dir nichts anderes übrig, als richtig Programmieren zu lernen, weg vom Arduino-Lego. Oder dir zumindest die Imlementation der Arduino-lib-Funktionen anzugucken, denn dokumentiert ist da ja fast nichts, die Doku kann man eher als Geheimhaltungsvereinbarung lesen.
MaWin schrieb: > Eben. Die vorgefertigten libs verwenden irgendwelche Resourcen und > können kollidieren. > Es bleibt dir nichts anderes übrig, als richtig Programmieren zu lernen, > weg vom Arduino-Lego. > Oder dir zumindest die Imlementation der Arduino-lib-Funktionen > anzugucken, denn dokumentiert ist da ja fast nichts, die Doku kann man > eher als Geheimhaltungsvereinbarung lesen. Danke mawin. Rein theoretisch: Wieviele Pins könnten mit PWM arbeiten unter der Voraussetzung, das ein Timer für IR reserviert ist (ohne I2C Bus Geschichten).
Wird nicht bei Arduino standartmäßig der Timer 0 für millis() hergenommen ?
guest schrieb: > Wird nicht bei Arduino standartmäßig der Timer 0 für millis() > hergenommen ? Was willst du uns damit in Bezug auf das Topic sagen?
Philipp G. schrieb: > Wieviele Pins könnten mit PWM arbeiten unter der Voraussetzung, das ein > Timer für IR reserviert ist Alle. Per Soft-PWM. Aber wer weiss schon, wozu sich die lib-Funktion entscheidet. guest schrieb: > Wird nicht bei Arduino standartmäßig der Timer 0 für millis() > hergenommen ? Natürlich. Immer initialisiert.
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.