Probleme mit Counter Kategorie: Programmierung (von Puma - 28.11.2005 11:02) | ||
| ||
hallo zusammen kann mir jemand sagen, wie ich am besten einen "genauen" counter erstelle? der Sensor habe ich an P1 angeschlossen (hallsensor) und das scheint auch soweit zu funktionieren. um den zustand des sensors anzuzeigen habe ich einen thread blink gemacht: //------------ thread blink //------------ //Bei High Flanke leuchtet LED1 { if (ports.get(9)==0) { station_io.LEDon(1); } else { station_io.LEDoff(1); } } das funktioniert bestens! nun möchte ich aber nicht immer wenn der sensor ein signal hat auch zählen, sonder nur programmspeziefisch! ich habe eine variable long count gemacht um den zählerstand zu speichern und mit folgendem thread realisiert //------------ thread cnt //------------ { while 1 { var.count=var.count + ports.getcount(1); // Kontakt 47 } } --> so würde es aber IMMER zählen, und das will ich nicht, deshalb sieht es im programm folgendermassen aus: (der thread wurde bereits im main in den zustand run gesetzt und danach in halt!) ..... ports.getcount(1); // Counter auf NULL Setzen! var.count=0; resume threads.cnt; sleep (var.laufzeit*500); sleep (var.laufzeit*500); stop(); halt threads.cnt; ------ leider funktioniert das ganze nicht zuverlässig, habe immer wieder andere zählerstände für die gleichen operationen.... wie könnte das besser oder richtig gelöst werden? vielen dank für eure unterstützung! puma | ||
Antwort schreiben Antworten: |