Re: Einlesen eines Signals und Ausgabe einer Rechteckspannung Kategorie: Programmierung (von Michael - 21.09.2005 21:16) | ||
Als Antwort auf Re: Einlesen eines Signals und Ausgabe einer Rechteckspannung von André H. - 27.08.2005 12:07 | ||
| ||
> Hallo Stefan, > > Zuerst: Benutze bitte gleich OSOPT V3.0 und nicht OSOPT_V2. > Alle OS-Versionen vor OSOPT V3.0 sind mittlerweile obsolet. > > > ich habe ne Denkblokade ich muss einen Schalter einlesen (5V) der gleichzeitig dafür sorgt das eine 500Hz > > Rechteckspannung an einem Digital Port ausgegeben wird. Dabei muss ich sagen das ich mich erst seit ein > > par Tagen mit der C-control zutun habe und auch nicht der beste Programmierer bin. > > > > Zum einlesen der Spannung benutze ich AD0 der mir dann den maximalen Integerwert zurückgibt > > und den in eine Variabelne packt. Die dann als Auslöser für das Rechtecksignal dient. > > > > Wie verbinde ich die beiden abschnitte in der C-Control2? Ohne das mein Signal aufhört > > zusenden wenn ich überprüfe ob die 5V noch anliegen oder nicht. Ggf. habt ihr ein kleines Beispiel für mich? > > Also. Nochmal kurz zusammengefasst: > Solange ein Schalter geschlossen ist, und 5V liefert, solle ein 500Hz-Signal ausgegeben werden. > Ansonsten nicht. > Warum willst Du dann einen AD-Port verwenden ? > Schlie�e den Schalter an einen I/O-Port an. Vergi� dann aber nicht den Pull-Down-Widerstand. > (10k zwischen Port und GND) > > Für die Ausgabe des Signals verwendest Du am besten keinen I/O-Port, sondern einen > der PWM-Ports. > Das Programm könnte dann so aussehen: > thread main > { > plm.settimebase(0,2); // 1,6µs > plm.setperiod(0,1250); //1,6µs *1250 = 2ms ^= 500Hz > loop > { > if ports.get(8) //Port P1H.0 > { > plm.out(0,625); //50% Periode > } > else > { > plm.out(0,0); > } > } > } > > MfG André H. > Hallo zusammen, bevor man aber " if ports.get(8)" schreibt, zuerst den port mit port.deact deaktivieren sprich Treiber ausschalten und auf Eingang umschalten ;-) hab deshalb auch schon mal Fehler gesucht Gru� Micha | ||
Antwort schreiben Antworten: |