]> git.feebdaed.xyz Git - 0xmirror/WiringPi.git/commitdiff
#259
authormstroh76 <m.stroh76@gmail.com>
Fri, 27 Sep 2024 16:01:36 +0000 (18:01 +0200)
committermstroh76 <m.stroh76@gmail.com>
Fri, 27 Sep 2024 16:01:36 +0000 (18:01 +0200)
documentation/deutsch/functions.md

index edea15def963ac9f96e27f54d54ec83bc3bd5a78..c14553c9d8ad5758d06df95e66519acbbeff7962 100644 (file)
@@ -34,7 +34,7 @@ sudo apt purge wiringpi
 \r
 ## Pin-Nummerierung und Raspbery Pi Modelle\r
 \r
-Pins: https://pinout.xyz/pinout/wiringpi\r
+GPIOs: https://pinout.xyz/pinout/wiringpi\r
 \r
 **Raspberry Pi Modelle mit 40-Pin GPIO J8 Header:**\r
 \r
@@ -101,8 +101,7 @@ Pins: https://pinout.xyz/pinout/wiringpi
  |     |     |     GND | 25 I 26  | CE1     | 11  | 7   |\r
 \r
 \r
-**Hinweise**\r
-\r
+**Hinweise**  \r
 Beachten Sie die abweichende Pin-Nummern und den I2C0 bei Raspberry Pi 1B Rev. 1!\r
 \r
 \r
@@ -194,22 +193,21 @@ void pinMode(int pin, int mode)
 pinMode(17, OUTPUT);\r
 ```\r
 \r
-**Support:**\r
+**Support:**  \r
 PM_OFF setzt den GPIO zurück (Input) und gibt ihn frei. PWM wird beendet.  \r
 Raspberry Pi 5 unterstützt den PWM BAL (Balanced) Modus nicht. Bei PWM_OUTPUT wird der MS Modus aktiviert.\r
 GPIO_CLOCK wird bei Raspberry Pi 5 (RP1) aktuell noch nicht unterstützt.\r
 \r
-** PWM Ausgang **\r
+**PWM Ausgang**  \r
 PWM_OUTPUT aktiviert den angegeben PWM Ausgang mit den Einstellungen: \r
- - Modus: Balanced (Pi0-4), MS (Pi 5)\r
+ - Modus: BAL-Balanced (Pi0-4), MS-Mark/Space (Pi 5)\r
  - Range: 1024  \r
- - Clock: 32  \r
+ - Divider: 32  \r
 \r
 Um sicher zu stellen, dass der Ausgang ohne aktiver Frequenz startet, sollte man vor der Aktivierung ``pwmWrite(PWM_GPIO, 0);`` ausführen. \r
 Danach können die entsprechenden Clock und Range Werte angepasst werden, ohne das bereits ungewollt eine Frequenz ausgegeben wird.\r
 \r
 \r
-\r
 ### pinMode\r
 \r
 \r
@@ -281,11 +279,11 @@ if (value==HIGH)
 ```\r
 \r
 \r
-## Verwendung ISR\r
+## Interrupts\r
 \r
 ### wiringPiISR\r
 \r
-Registriert eine Interrupt Service Routine (ISR) die bei Flankenwechsel ausgeführt wird.\r
+Registriert eine Interrupt Service Routine (ISR) bzw. Funktion die bei Flankenwechsel ausgeführt wird.\r
 \r
 >>>\r
 ```C\r
@@ -293,13 +291,14 @@ int wiringPiISR(int pin, int mode, void (*function)(void));
 ```\r
 \r
 ``pin``: Der gewünschte Pin (BCM-, WiringPi- oder Pin-Nummer).  \r
-``mode``: Der Widerstand.  \r
-> INT_EDGE_RISING ... Steigende Flanke  \r
-> INT_EDGE_FALLING ... Fallende Flanke\r
-> INT_EDGE_BOTH ... Steigende und fallende Flanke\r
-> *function .. Funktionspointer für ISR\r
+``mode``: Auslösende Flankenmodus\r
+ - INT_EDGE_RISING ... Steigende Flanke  \r
+ - INT_EDGE_FALLING ... Fallende Flanke  \r
+ - INT_EDGE_BOTH ... Steigende und fallende Flanke  \r
+\r
+``*function``: Funktionspointer für ISR  \r
 ``Rückgabewert``:   \r
-> 0 ... Erfolgreich  \r
+ > 0 ... Erfolgreich  \r
 <!-- > <>0 ... Fehler, zur Zeit nicht implementiert -->\r
 \r
 Beispiel siehe wiringPiISRStop.\r
@@ -339,24 +338,6 @@ int main (void) {
 }\r
 ```\r
 \r
-**Beispiel:**\r
-\r
-```C\r
-static volatile int edgeCounter;\r
-\r
-static void isr(void) { \r
-  edgeCounter++;\r
-}\r
-\r
-int main (void) {\r
-    wiringPiSetupPinType(WPI_PIN_BCM);\r
-    edgeCounter = 0;\r
-    wiringPiISR (17, INT_EDGE_RISING, &isr);\r
-    Sleep(1000);\r
-    wiringPiISRStop(17);\r
-    printf("%d rinsing edges\n", edgeCounter)\r
-}\r
-```\r
 \r
 ### waitForInterrupt\r
 \r
@@ -368,16 +349,16 @@ int  waitForInterrupt (int pin, int mS)
 ```\r
 \r
 ``pin``: Der gewünschte Pin (BCM-, WiringPi- oder Pin-Nummer).  \r
-``mS``: Timeout in Milisekunden. \r
+``mS``: Timeout in Milisekunden.  \r
 ``Rückgabewert``: Fehler  \r
 > 0 ... Erfolgreich  \r
 > -1 ... GPIO Device Chip nicht erfolgreich geöffnet  \r
 > -2 ... ISR wurde nicht registriert (wiringPiISR muss aufgerufen werden)\r
 \r
 \r
-## PWM (Pulsweitenmodulation)\r
+## Hardware PWM (Pulsweitenmodulation)\r
 \r
-Verfügbare pins:  https://pinout.xyz/pinout/pwm\r
+Verfügbare GPIOs:  https://pinout.xyz/pinout/pwm\r
 \r
 ### pwmWrite\r
 \r
@@ -393,51 +374,51 @@ pwmWrite(int pin, int value)
 \r
 ### pwmSetRange\r
 \r
-Setzt den Bereich für den PWM-Wert. Haupt eine Auswirkung auf die PWM Frequenz.\r
-Gilt für alle PWM Pins und PWM Kanäle.\r
+Setzt den Bereich für den PWM-Wert für alle PWM Pins bzw. PWM Kanäle.  \r
+Für die Berechnung der PWM Frequenz (M/S Mode) gilt 19200/divisor/range.\r
+Bei Befehl ``pinMode(pin,PWM_OUTPUT)`` wird automatisch der Wert 1024 für den Teiler gesetzt. \r
 \r
 >>>\r
 ```C\r
 pwmSetRange (unsigned int range)\r
 ```\r
 \r
-``pin``: Der gewünschte Pin (BCM-, WiringPi- oder Pin-Nummer).  \r
 ``range``: PWM Range\r
 \r
 ### pwmSetMode\r
 \r
-Setzt den PWM Modus auf\r
+Setzt den PWM Modus für alle PWM Pins bzw. PWM Kanäle.   \r
 \r
 >>>\r
 ```C\r
 pwmSetMode(int mode);\r
 ```\r
 \r
-``mode``: Teiler (0-4095) \r
-> PWM_MODE_MS ... Mark/Space Modus (PWM Frequenz fix)  \r
-> PWM_MODE_BAL ... Balanced Modus (PWM Frequenz variabel)\r
+``mode``: PWM Modus\r
+ - PWM_MODE_MS ... Mark/Space Modus (PWM Frequenz fix)  \r
+ - PWM_MODE_BAL ... Balanced Modus (PWM Frequenz variabel)\r
 \r
-**Support:**\r
+**Support:**  \r
 Raspberry Pi 5 unterstützt den Balanced Modus nicht!\r
 \r
 \r
 ### pwmSetClock\r
 \r
-Setzt den Teiler für den PWM Basistakt. Der Basistakt ist für alle Raspberry Pis auf 1900 kHz normiert.\r
-Der Raspberry Pi 4 max divisor is 1456,\r
-\r
+Setzt den Teiler für den PWM Basistakt. Der Basistakt ist für alle Raspberry Pis auf 1900 kHz normiert.  \r
+Für die Berechnung der PWM Frequenz (M/S Mode) gilt 19200/divisor/range.\r
+Bei Befehl ``pinMode(pin,PWM_OUTPUT)`` wird automatisch der Wert 32 für den Teiler gesetzt. \r
 \r
 >>>\r
 ```C\r
 pwmSetClock(int divisor)\r
 ```\r
 \r
-``divisor``: Teiler (Raspberry Pi 4: 0-4095, alle anderen 0-4095) \r
-> 0 ... Deaktivert den PWM Takt bei Raspberry Pi 5, bei anderen Pi's wird divisor 1 benutzt    \r
+``divisor``: Teiler  (Raspberry Pi 4: 1-1456, alle anderen 1-4095) \r
+- 0 ... Deaktivert den PWM Takt bei Raspberry Pi 5, bei anderen Pi's wird divisor 1 benutzt    \r
 \r
-**Support:**\r
-Der Raspberry Pi 4 hat aufgrund seines höheren internen Basistakt nur einen Einstellbereich von 0-1456.\r
-Ansonsten gilt 1-4095 für einen gültigen Teiler.\r
+**Support:**  \r
+Der Raspberry Pi 4 hat aufgrund seines höheren internen Basistakt nur einen Einstellbereich von 1-1456.  \r
+Ansonsten gilt 0-4095 für einen gültigen Teiler.\r
 \r
 \r
 **Beispiel:**\r
@@ -453,7 +434,6 @@ int main (void) {
     double freq = 19200.0/(double)pwmc/(double)pwmr;\r
     printf("PWM 50%% @ %g kHz", freq);\r
     delay(250);\r
-    \r
     pinMode(18, PM_OFF);\r
 }\r
-```
\ No newline at end of file
+```\r