Moin, gibt es eine Möglichkeit, zu sehen, was genau bei den einzelnen Arduino-Befehlen (pinMode(), digitalWrite(),...) passiert? Zum Beispiel beim Befehl tone(Pin, Frequenz), wird ein Rechtecksignal an einem ausgewählten Pin generiert. Nun würde mich interessieren, was GENAU der Befehl beinhaltet, sodass am Ende ein PWM erzeugt wird.
Ja, natürlich! Das liegt alles im Quelltext vor. Suche im Arduino Programmverzeichnis nach "hardware\arduino\avr\cores\arduino" tone() findest du dann in Tone.cpp
Un Definitionen zu pinMode findest du dann in den Dateien wiring_analog.c und wiring_digital.c
Das kann man sich aus dem Arduino-Verzeichnis raus suchen. Oder aber man benutzt das Atmel-Studio für Arduino und macht mal einen Rechtscklick auf eine Funktion und wählt "Goto Implementation" aus. D:\Arduino\arduino-1.0.6\hardware\arduino\cores\arduino\Tone.cpp
1 | // frequency (in hertz) and duration (in milliseconds).
|
2 | |
3 | void tone(uint8_t _pin, unsigned int frequency, unsigned long duration) |
4 | {
|
5 | uint8_t prescalarbits = 0b001; |
6 | long toggle_count = 0; |
7 | uint32_t ocr = 0; |
8 | int8_t _timer; |
9 | |
10 | _timer = toneBegin(_pin); |
11 | |
12 | if (_timer >= 0) |
13 | {
|
14 | // Set the pinMode as OUTPUT
|
15 | pinMode(_pin, OUTPUT); |
16 | ...
|
:
Bearbeitet durch User
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.