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

Re: if..else Kategorie: Programmierung (von Hans - 19.01.2005 17:52)
Als Antwort auf Re: if..else von Jacke - 19.01.2005 16:45
Ich nutze:
C-Control II Station, OSOPT_V2
Hallo,
nach meiner Meinung stimmt die Klammersetzung nicht.
> >     if ports.get(8) >= 0
> >        {sleep zeit*1000;}       geschweifte Klammer fehlt

GruÃ? Hans



> Ist mein Problem so einfach oder so dumm, dass keiner antwortet?
> bitte ein Tip!
>
>

>
> > Hallo,
> >
> > ich hab schon wieder eine Herausforderung.
> > Mein Programm funzt soweit, dass es den Eingang auslieÃ?t, jedoch stoppt es nicht
> > den Programmablauf, sondern spilet sofort die Melodien  - ich kann sie nicht mehr hören.
> >
> >
> > /* Projekt Ansteuerung Frequenzumrichter */
> > /* Beginn 13.01.2005     */
> > /* Autor: S. Golebniak       */
> >
> > /* HW-Voraussetzung:
> > /* Ein Frequenzumrichter
> > /* über PLM0 soll alle 20 ms ein Impuls gehen.
> > /* Die Länge des Impusl ist von 1.1ms linker bis 2.1ms rechter anschlag */

> >
> >
> >
> > //------------------------------------------
> > function beep(int ton, int laenge,int pause)
> > //------------------------------------------
> > {
> >   plm.beep(ton);
> >   sleep laenge;
> >   plm.beep(plm.TONE_OFF); // Signal abgeschaltet, Analogport wird nebutzt
> >   sleep pause;
> > }
> >
> > function SetFu(int Kanal,float Value)
> > {
> >    // 0=1.1ms = 1375 Impulse * 800 ns  Praxis 700 * 800 = 0.56ms
> >    // 50=1.6ms = 2000 Impulse * 800 ns
> >    // 100=2.1ms = 2625 Impulse * 800 ns Praxis 2800 *800ns = 2.24ms
> >    int outvalue;
> >    string s1;
> >
> > // was auf den ausgang geht
> >
> >    outvalue=700+(21*Value);
> >    plm.out(1,outvalue);
> >    lcdext.goto(2,0);
> >    s1 = "fa=";
> >    str.putfloatf(s1,Value,2);
> >    lcdext.print(s1) ;
> > }
> > //---------
> > thread main
> > //---------
> > {
> >   float x;
> >   string s1;
> >   float  voltage;
> >   string output;
> >   float  zeit;
> >   string time;
> >   int start;
> >   string anfang;
> >  
> >
> >   // Initial LCD
> >   lcdext.init();
> >   wait lcd.ready();
> >   lcdext.clear();
> >   lcdext.home();
> >   lcdext.goto(1,0);
> >  
> >   // initial PLM
> >   plm.settimebase(0,1); //Base_800 ns
> >   plm.setmode(0,0); //Mode=digital
> >   plm.setperiod(0,2500); //Periodenlänge=Base_800 ns * 25000 = 20 ms oder 50 Hz
> >   SetFu(0,0); //Servomitte
> >   //ports.set(8,0);
> >
> >   loop
> >   {
> >
> >       // Einlesen der Eingänge
> >       //Spannung
> >    
> >     voltage = ports.adc(1) * 0.004;  // 4 mV per ADC Digit An Eingang A1
> >     output = "Ve=";
> >     str.putfloatf (output, voltage, 2);
> >     lcdext.goto(1,0);
> >     lcdext.print(output);
> >    
> >       // Zeit
> >     zeit = ports.adc(0);  // Zeit entspricht Spannung am Eingang A0
> >     time = "t=";
> >     str.putfloatf (time, zeit, 2);
> >     lcdext.goto(1,8);
> >     lcdext.print(time);
> >    
> >    
> >    
> >     // Einlesen der digitalen Eingänge
> >       //Start
> >    
> >     start = ports.get(8);   // High-Pegel auf E0
> >     anfang = "p=";
> >     str.putfloatf (anfang, start, 2);
> >     lcdext.goto(2,8);
> >     lcdext.print(anfang);
> >
> >    
> >     //Ausgabe auf Ausgang
> >     SetFu(0,voltage);
> >
> >     if ports.get(8) >= 0
> >        sleep zeit*1000;
> >     else
> >     {
> >  
> > // CALLING
> >   melody.good_bad_ugly();
> >   melody.pink_panther();
> >
> > }
> >
> >   }
> > }
> >
> > //ENDE
> >
> >

> >
> > ich hatte es auch in der fprm versucht einen anderen thread aufzurufen geht aber nicht.
> >
> > Wird der thread in einem neuen Modul definiert oder im selben?
> >
> >  if ports.get(8) >= 0
> >        sleep zeit*1000;
> >     else
> > run = beepen
> >
> > da gibt es bei beepen immer eine Fehlermeldung, ebal ob der thread beepen im selben Modul
> >  oder in einen eigenen untergebracht ist.
> >
> > Wenn ich also Port 8 mittels Sapnnung  auf 0 setze bekomme ich sofort diese furchtbare Melodie.
> > Gedacht ist das ganze um über Port 8 das Programm zu stoppen, über Port 9 Pause - das aber erst
> >  wenn ichs kann.
> >
> > Danke schonmal!
> >
> >


    Antwort schreiben


Antworten:

Re: if..else (von Jacke - 19.01.2005 18:11)