-         

Ergebnis 1 bis 4 von 4

Thema: Fehler im Programm, einfache "if" bedingung( Motor

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2005
    Beiträge
    8

    Fehler im Programm, einfache "if" bedingung( Motor

    Anzeige

    Hallo,
    kannmir jemand sagen, wo hier der Fehler liegt.
    möchte, daß das Display den Abstand vom Infrarotsensor anzeigt und bei einem bestimmten Wert (hier 70) den Motor startet bzw anhält.
    Ich benutze ein Handyboard und einen Motortreiber über I2C schnittstelle.
    Infrarotsensor ist am Eingang 16 angeschlossen.
    Hier das Programm.

    Ps: sind meine ersten Programmierversuche,also net lache



    // Motortest
    #use "i2c-treiber.ic"
    void main()
    {
    i2c_init();

    while(1)
    {
    int spannung;
    spannung = analog(16);
    spannung = spannung -135/1,5;
    spannung = spannung *(-1);
    printf( "\n %s%d","spannung", spannung );

    if (spannung <70);
    {
    i2c_init();

    i2c_write_2byte(176,0,01);//Vorwaerts
    i2c_write_2byte(176,2,150);//Beschleunigen
    i2c_write_2byte(176,3,150);//Drehzahl
    }

    if (spannung >70);
    i2c_write_2byte(176,0,00);//Stop

    sleep (.1);
    }
    }

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von SprinterSB
    Registriert seit
    09.06.2005
    Ort
    An der Saar
    Beiträge
    2.801
    Vielleicht erzählst du was über den Fehler, bevor wir hier die Kristallkugel auspacken... Meckert der Compiler, stürzt das Programm ab, ...?

    Falsch ist auf jeden Fall das "1,5", es muss heissen "1.5".

    Wenn printf puffert, ist es zweckmässig, den Zeilenumbrüch *nach* der AUsgabe zu machen. Sonst hängt das Zeug im Puffer rum bis das nächste '\n' kommt.

    Aisserdem ist deine if-Anweisung leer, da meckert normalerweise ein Compiler. Das if enthält nur einen ;
    Disclaimer: none. Sue me.

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    12.01.2007
    Beiträge
    93
    du hast nach der if ein ; das macht keinen sinn nimm das semicolon mal weg, sonst hast du eine if bedingung aber keine anweisung.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    07.11.2005
    Beiträge
    8
    super, eure hilfe hat mir voll geholfen. einfach das semikolon weg und schon tuts, wie einfach...muß man erst drauf kommen

    danke euch, =D>

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •