Counter: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
(Beispiel für Abfrage per HTTP hinzugefügt, Artikel formatiert und typos behoben.)
(Artikel verständlicher formuliert.)
Zeile 1: Zeile 1:
== Impuls Counter mittels Control6 Script ==
+
Dieses Beispiel zeigt, wie man einen '''Impulszähler''' mittels eines [[Control6]]-Skripts erstellen kann. Der Signaleingang ist am INT0-Pin.
Signaleingang am INT0-Pin.
 
  
 +
==Abfrage==
 
Counter-Abfrage mittels ECMD über TCP:
 
Counter-Abfrage mittels ECMD über TCP:
 
  gummi:~# echo "c6 get pc_counter" | socat stdio tcp4:10.0.0.40:2701
 
  gummi:~# echo "c6 get pc_counter" | socat stdio tcp4:10.0.0.40:2701
Zeile 9: Zeile 9:
 
(liefert "pc_counter 98" im Browser).
 
(liefert "pc_counter 98" im Browser).
  
 +
Siehe auch [[ECMD Protocols]].
 +
 +
==Code==
 
Code für die src-Datei:
 
Code für die src-Datei:
 
<source lang="text">
 
<source lang="text">

Version vom 31. August 2010, 23:53 Uhr

Dieses Beispiel zeigt, wie man einen Impulszähler mittels eines Control6-Skripts erstellen kann. Der Signaleingang ist am INT0-Pin.

Abfrage

Counter-Abfrage mittels ECMD über TCP:

gummi:~# echo "c6 get pc_counter" | socat stdio tcp4:10.0.0.40:2701
pc_counter 98

oder mittels ECMD und Webbrowser:

http://10.0.0.40/ecmd?c6+get+pc_counter

(liefert "pc_counter 98" im Browser).

Siehe auch ECMD Protocols.

Code

Code für die src-Datei:

CONTROL_START
        ECMD_GLOBAL(pc_counter, 0);
        ON STARTUP DO

                // Pullup-Widerstaende aktivieren
                PORTD |= _BV(PORTD2);
                DDRD |= _BV(DDD2);
                PIND &= ~_BV(PIND2);

                _EIMSK |= _BV(INT0);
                _EICRA |= _BV(ISC01);
        END
CONTROL_END

ISR(INT0_vect)
{
        pc_counter ++;
}

Siehe auch