Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
de:software:homelab:library:pin [2010/11/07 21:15] Wemberde:software:homelab:library:pin [2020/07/20 12:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Pins ====== ====== Pins ======
  
-Die Pins-Bibliothek ist ein einfacher Weg um mit den AVR digitalen input-output Pins zu operieren. +Die Pins-Bibliothek erleichtert die Arbeit mit digitalen AVR In- und Output-Pins. Der Nutzer kann eine zu einem Pin gehörige Variable erstellen und mit dieser sämtliche Pin-Operationen vornehmenAuf diese Weise entfällt die Verwendung von Registernamen oder Bit-Indizes, wie es beim Programmieren mit direktem Zugriff auf das Register nötig ist. Port und Index des Pins müssen nur einmalig festgelegt werden, sodass Änderungen leicht implementiert werden können.
-Der Benutzer kann eine Pin-zugehörige Variable erstellen und mit dieser Variable alle Pin Operationen machenDamit benötigt man keine Registernamen und Bitindizes, wie es in der Direct-Register-Access-Methode vorkommtDer Pin-Port und Index müssen nur einmal spezifiziert werden, daher sind Änderungen einfach zu vollziehen.+
  
-===== Data types =====+===== Datentypen =====
  
-  * **//pin//** \\ Datentyp für Pinregister-Adressen und Bitmasken. +  * **//pin//** Datentyp für Adressen von Pin-Registern und Bitmasken. Um das effizienteste Programm zu entwickeln, sollten //pin// Variablen konstant sein und am Anfang des Programmcodes initialisiert werden. Letzteres kann mit der Makrofunktion //PIN// durchgeführt werden, deren erster Parameter der Buchstabe des Ports ist (A, B, C, etc.) und zweiter Parameter der Pin-Index (0 – 7). Es können nur bestehende Ports und Pins verwendet werden.
-Um das effizienteste Programm zu bekommen sollten //pin// Variablen konstant sein und sollten zu Beginn des Programms initialisiert werden. Das Initialisieren kan mit der Makrofunktion //PIN// gemacht werden, wobei der erste Parameter der Port ist (großes A, B, C, etc) und der Andere der Pin Index (0 bis 7).Nur existierende Pins und Ports können genutzt werden.+
  
 ===== Funktionen ===== ===== Funktionen =====
  
   * **//void pin_setup_output(pin pin)//** \\   * **//void pin_setup_output(pin pin)//** \\
-    Konfiguriert Pin als Output. Parameter: +    Konfiguriert einen Pin als Output. Parameter: 
-    * //pin// - Pin variable.+    * //pin// - Pin Variable.
   * **//void pin_setup_input(pin pin)//** \\   * **//void pin_setup_input(pin pin)//** \\
-    Konfiguriert Pin als Input ohne Pull-up Widerstand. Parameter: +    Konfiguriert einen Pin als Input ohne Pull-up Widerstand. Parameter: 
-    * //pin// - Pin variable.+    * //pin// - Pin Variable.
   * **//void pin_setup_input_with_pullup(pin pin)//** \\   * **//void pin_setup_input_with_pullup(pin pin)//** \\
-    Konfiguriert Pin als Input mit Pull-up Widerstand. Parameter: +    Konfiguriert einen Pin als Input mit Pull-up Widerstand. Parameter: 
-    * //pin// - Pin variable.+    * //pin// - Pin Variable.
   * **//void pin_set(pin pin)//** \\   * **//void pin_set(pin pin)//** \\
-    Setzt Output Pin high. Parameter: +    Setzt einen Output-Pin high. Parameter: 
-    * //pin// - Pin variable.+    * //pin// - Pin Variable.
   * **//void pin_clear(pin pin)//** \\   * **//void pin_clear(pin pin)//** \\
-    Setzt Output Pin low. Parameter: +    Setzt einen Output-Pin low. Parameter: 
-    * //pin// - Pin variable.+    * //pin// - Pin Variable.
   * **//void pin_toggle(pin pin)//** \\   * **//void pin_toggle(pin pin)//** \\
-    Invertiert Output pin state. Parameter: +    Invertiert den Status eines Output-Pins. Parameter: 
-    * //pin// - Pin variable.+    * //pin// - Pin Variable.
   * **//void pin_set_to(pin pin, bool value)//** \\   * **//void pin_set_to(pin pin, bool value)//** \\
-    Setzt Output Pin zum gewünschten Zustand. Parameter:+    Setzt einen Output-Pin in den gewünschten Zustand. Parameter:
     * //pin// - Pin Variable.     * //pin// - Pin Variable.
-    * //value// - Desired state boolean value.+    * //value// - Gewünschter Status als Bool'scher Wert.
   * **//bool pin_get_value(pin pin)//** \\   * **//bool pin_get_value(pin pin)//** \\
-    Holt Pinwert. Parameter: +    Holt Pin-Wert. Parameter: 
-    * //pin// - Pin variable+    * //pin// - Pin Variable
-    * Return boolean //true// when pin is high and //false// when pin is low.+    * Gibt Bool'schen Wert //true// wenn Pin high und //false// wenn Pin low ist aus.
   * **//bool pin_get_debounced_value(pin pin)//** \\   * **//bool pin_get_debounced_value(pin pin)//** \\
-    Liest den Pinwert durch den Switch-Debounce-Filter. das Filtern benötigt mind. 8 ms und kann bis zu 100 ms benötigen, jenachdem wann das Bouncing endet. Falls es nicht endet gibt es //false// aus. Funktionen nutzen Softwareverzögerung. Parameter: +    Liest den Pinwert durch den Switch-Debounce-Filter. Das Filtern benötigt mindestens 8 ms und kann bis zu 100 ms benötigen, je nachdem wann das Bouncing endet. Falls es nicht endet wird //false// ausgegeben. Funktionen nutzen Softwareverzögerung. Parameter: 
-    * //pin// - Pin variable+    * //pin// - Pin Variable
-    * Return pin boolean value - //true// when pin is high and //false// when pin is low or undetermined.+    * Gibt dem Pin den Bool'schen Wert //true// wenn der Pin high ist und //false// wenn der Pin low oder unbestimmt ist.
  
 ===== Beispiel ===== ===== Beispiel =====
  
-Beispiel um einen Pinwert zu erhalten und zu setzen. Pin PC0 Wert wird invertiert und an Pin PC3 angeschlossen.+Beispiel um einen Pin-Wert zu erhalten und zu setzen. Pin PC0 Wert wird invertiert und an Pin PC3 angeschlossen.
  
  
Line 60: Line 58:
  pin_setup_output(output_pin);  pin_setup_output(output_pin);
  
- // Konfiguriert Pin als Input Pin mit Pull-up+ // Konfiguriert Pin als Input-Pin mit Pull-up Widerstand
  pin_setup_input_with_pullup(input_pin);  pin_setup_input_with_pullup(input_pin);
  
Line 66: Line 64:
  while (true)  while (true)
  {  {
- // Getting an input pin value+ // Wert eines Input-Pins erhalten
  value = pin_get_value(input_pin);  value = pin_get_value(input_pin);
  
- // Setting an output pin value+ // Wert für den Output-Pin setzen
  pin_set_to(output_pin, !value);  pin_set_to(output_pin, !value);
  }  }
 } }
 </code> </code>
de/software/homelab/library/pin.1289157359.txt.gz · Last modified: (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0