
| PLM-Ports erstellen Kategorie: Programmierung (von Erich - 18.04.2006 16:32) | ||
| ||
|
Hallo nochmal, ich habe schon etwas überlegt, ob ich ein extra-Thema erstelle, weil ich ja was verwandtes schon eröffnet hatte. Zuletzt habe ich mich aber mit einer reinen PBM/PWM/PLM-Regelung abgefunden. Nun (nochmal) meine Bedürfnisse: ich muss also drei Motoren steuern und habe natürlich drei PLM- Ports zur Verfügung. Der dritte ist bekanntermaÃ?en für den beeper, den ich aber gerne weiter nutzen möchte, weswegen ich ihn nicht abschlieÃ?en will. Deswegen kann man ja digitale Ports auch per Programmierung nutzen, aber kann man damit auch einen sinnvollen Ersatz erreichen? hier mehrere Varianten, die aber mein System fleiÃ?ig beschäftigt haben: function digplm (int timBrt, int timPer, int port_) { long timstate1; ports.set(port_, 1); timstate1 = system.timer(); //Variante 3 loop { wait system.timer()-timstate1 == timBrt; ports.toggle(port_); wait system.timer()-timstate1 == timPer; ports.toggle(port_); timstate1 = system.timer(); } //Variante 2 /* loop { while(system.timer()-timstate1) < timPer { if (system.timer()-timstate1) == timBrt ports.toggle(port_); } timstate1 = system.timer(); ports.toggle(port_); }*/ //Variante 1 /* loop { if (system.timer()-timstate1)>= timPer { ports.set(port_, 1); timstate1 = system.timer(); } if (system.timer()-timstate1)>= timBrt ports.set(port_, 0); }*/ } leider habe ich nichts tolles im Netz gefunden, weswegen ich mir mit diesem Geschmarre hier behalf ;) Hat jemand eine gute Idee? Und vielleicht wäre eine ausschlieÃ?liche Verwendung der reinen, digitalen Ausgänge ja gar nicht so verkehrt, da man diese von timer-Ereignissen abhängig machen und sich evtl. threads sparen könnte?!? Freue mich auf Antworten! (hoffentlich hab ich nix vergessen) Erich | ||
Antwort schreiben Antworten: | ||