Counter: Unterschied zwischen den Versionen

Aus Ethersex_Wiki
Wechseln zu: Navigation, Suche
K (INT0 statt PCINT0)
(Beispiel für Abfrage per HTTP hinzugefügt, Artikel formatiert und typos behoben.)
Zeile 1: Zeile 1:
<br>
+
== Impuls Counter mittels Control6 Script ==
=== Impuls Counter mittels Control6 Script ===
+
Signaleingang am INT0-Pin.
<br>
+
 
Signal eingang am INT0 pin<br>
+
Counter-Abfrage mittels ECMD über TCP:
Counter Abfrage mittels ECMD:<br>
+
gummi:~# echo "c6 get pc_counter" | socat stdio tcp4:10.0.0.40:2701
<br>
+
pc_counter 98
gummi:~# echo "c6 get pc_counter" | socat stdio tcp4:10.0.0.40:2701<br>
+
oder mittels ECMD und Webbrowser:
pc_counter 98<br>
+
http://10.0.0.40/ecmd?c6+get+pc_counter
<br>
+
(liefert "pc_counter 98" im Browser).
<br>
+
 
<br>
+
Code für die src-Datei:
 
<source lang="text">
 
<source lang="text">
 
CONTROL_START
 
CONTROL_START
Zeile 15: Zeile 15:
 
         ON STARTUP DO
 
         ON STARTUP DO
  
                 // Pullup Wiederstaende Aktivieren
+
                 // Pullup-Widerstaende aktivieren
 
                 PORTD |= _BV(PORTD2);
 
                 PORTD |= _BV(PORTD2);
 
                 DDRD |= _BV(DDD2);
 
                 DDRD |= _BV(DDD2);
Zeile 30: Zeile 30:
 
}
 
}
 
</source>
 
</source>
 +
 +
==Siehe auch==
 +
*[[Benutzer:Biff|Erfahrungsbericht]]
  
 
[[Category:Control6 Examples]]
 
[[Category:Control6 Examples]]

Version vom 29. Juli 2010, 15:52 Uhr

Impuls Counter mittels Control6 Script

Signaleingang am INT0-Pin.

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).

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