C Abfrage in while-Schleife

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hallo, bin neu in Sachen Raspberry programmieren, aber hab n Projekt von der Schule bekommen. Ich soll mit zwei Tastern die zwei LEDs ansteuern(Die LEDs werden später durchn Motor ausgetauscht der mit PWM betrieben wird). Jetzt hab ich aber das Problem, dass immer if(Tast==1) durchläuft und auch wenn ich die Taster drück tut sich nix. Hoffe mein Problem ist verständlich genug.(LAS,ENDL und ENDR sind Endschalter und eine Laserschranke)

  • Hi,

    da ich jetzt keinen Aufbau der dem deinem gleicht hab, kann ich deinen Code nicht debuggen, möchte in dem Auszug auch nicht suchen.. Hier einfach ein Beispiel, wie das an sich funktioniert. Ich habe GPIO-PIN5 mit Tastschalter gegen GND.

    Kompiliert mit:

    gcc filename.c -o filename -l wiringPi

    Ich leide an Verfolgungswahn... :daumendreh2: Ha, da ist schon wieder einer! :denker:

    2 Mal editiert, zuletzt von Noide (12. Januar 2019 um 14:17)

  • Weil?

    Weil digitalRead, digitalWrite usw. kein ANSI C ist und zuerst für das Arduino Gedöns implementiert wurde. Jahre später hat die API mal jemand für den RPi übernommen, nennt sich WiringPi oder so. Aber dreamshader, das weisst du doch vermutlich alles.

    Jedenfalls fehlt in der Frage jegliche Referenz zu WiringPi und die includes fehlen halt auch alle

  • Naja ... aber ANSI-C ist doch jetzt Unsinn ... GPIO-Zugriffe sind halt nun mal nicht im Standard beschrieben.

    Es könnten ja auch selbst verfasste Funktionen sein (was in diesem Fall nicht zutrifft, weil sie imho aus der wiringPi lib stammen).

    Aber dreamshader, das weisst du doch vermutlich alles.

    Sicher, trotzdem verstehe ich Deine Anmerkung nicht. Aufgrund der Funktionsnamen jetzt auf Arduino-Code zu schliessen so was von deplatziert und unnötig.

    Jedenfalls fehlt in der Frage jegliche Referenz zu WiringPi und die includes fehlen halt auch alle

    die "includes", als headerfiles, haben, falls sie nicht selbst erstellt sind, hier auch nichts zu suchen.
    Und dass der Code nicht komplett ist, hatte framp hier

    Dein Code ist nicht komplett und deshalb kann Dir keiner helfen.

    bereits bemängelt.

    Einzig der Vergleich des Code-Stils mit italienischen Nudeln, den ich ebenfalls teile, ist hier "neu" ...

    Also ... ein bisschen mehr Substanz statt "irgendwas", um auch was gesagt zu haben, bitte.

    Das kannst Du (wie mehrfach nachlesbar) besser und solche "ballaststofftreiche" Posts blähen Threads unnötig auf und führen manchmal sogar zu sinnfreien Grundsatz-Diskussionen.

    Nix für ungut,

    cu,

    -ds-

  • return 0; while(digitalRead(LAS)==0){

    alles nach return 0; wird NIE ausgeführt

    alt: Zeile 82

    neu: Zeile 47

    ich habe mal versucht aufzuräumen und es übersichtlicher zu machen, aber so wird das nichts!

    auch deine Variable For ist unglücklich, nenne sie lieber vor und die Variable Back lieber zurueck dann gibt kein Durcheinander mit Befehlen auch wenn case sensitiv gilt (normalerweise)

    ich glaube der Code Editor hier versaut die Formatierung, im Notepad++ sieht es besser (richtig) aus

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

    2 Mal editiert, zuletzt von jar (13. Januar 2019 um 13:57)

  • Der Code wird von der Forensoftware auch nicht als C-Code erkannt. Evtl. wird es deswegen so verschoben. Dachte erst an gemischten SPACEs und TABs, aber die hatte ich auch, da aber mein Snippet als C-Code erkannt wird, wirds deswegen wohl korrekt angezeigt.

    Ich leide an Verfolgungswahn... :daumendreh2: Ha, da ist schon wieder einer! :denker:

  • aber stellt die Sprache doch einfach selbst ein

    ???

    done :danke_ATDE:

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

  • :lol::lol::lol:

    zu spät

    lasst die PIs & ESPs am Leben !
    Energiesparen:
    Das Gehirn kann in Standby gehen. Abschalten spart aber noch mehr Energie, was immer mehr nutzen. Dieter Nuhr
    (ich kann leider nicht schneller fahren, vor mir fährt ein GTi)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!