Warten bis Tasterdruck erfolgt

#3549768
Lesenswert?
• ▲
▼
Ist der Pin auf Eingang geschaltet?
WIe ist der Taster verschaltet?
Hast du einen Pullup/Pulldown Widerstand.

Auf Deutsch:
Zeig alles!

Das Problem ist nicht in den 3 Zeilen Code. Dass die nicht die Ursache 
sind, siehst du selber. Wir sehen da auch nichts anderes. Also liegt das 
Problem im Umfeld. Das aber zeigst du nicht.
#3549834
Lesenswert?
• ▲
▼
Martin Fischer schrieb:
> Was ist denn nun? Erst rummeckern und jetzt nicht helfen?

Ich hab auch noch anderes zu tun, als mich nur um deinen Code zu kümmern
1
            kalibrierung(PINB, PB5, &s, &o);
2
            
3
....
4

5
void kalibrierung(uint8_t pin, uint8_t port, float *steilheit, float *offset){
6
...
7

8
    while(1){
9
        if(digRead(pin, port)){
10
            break;
11
        }
12
    }

erstens sind die Argumnente schon mal falsch rum.
Zweitens kann das so nicht funktionieren. Denn beim Aufruf der Funktion 
kalibrierung wird hier
1
            kalibrierung(PINB, PB5, &s, &o);
der aktuelle Zustand des PINB ermittelt und an die Funktion übergeben. 
Innerhalb der Funktion ändert sich der aber nicht mehr, weil ja das 
PIN-Register überhaupt nicht mehr abgefragt wird, sondern hier
1
        if(digRead(pin, port)){
immer wieder lediglich auf den in pin gespeicherten Zustand zum 
Zeitpunkt des Funktionsaufrufs zurückgegriffen wird. Und der ist 
logischerweise immer derselbe.
#3549854
Lesenswert?
• ▲
▼
Teo Derix schrieb:
> Martin Fischer schrieb:
>> Was ist denn nun? Erst rummeckern und jetzt nicht helfen?
>
> Und... Tschüss

Ganz normal. Quer durch das Forum glänzt Martin durch eine interessante 
Mischung aus absolutem Unwissen, keinerlei Ansatz irgendwelches 
Verständniss der Materie aufzubringen und penetranter Dreistigkeit 
("malt mir einen Schaltplan und sagt mir genau was ich wo anschließen 
muss und schnell gefälligst").

Von mir gibts da inzwischen nix mehr.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.