Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

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
Ich nutze:
C-Control II Unit, CC2-Application-Board, OSOPT V3.0
> 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: