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?
Gast
#6505022
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).
Gast
#6505038
Wird nicht bei Arduino standartmäßig der Timer 0 für millis() hergenommen ?
Gast
#6505055
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?
Gast
#6505167
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.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.