INPUT_PULLUP verschil

Arduino specifieke Software
Berichten: 109
Geregistreerd: 05 Dec 2014, 22:09

INPUT_PULLUP verschil

Berichtdoor Palumbus » 11 Okt 2016, 22:37

Hallo kenners,

Ik gebruik nu een Arduino Nano

Wat is het verschil tussen

pinMode(PIN, INPUT);
digitalWrite(PIN, HIGH);
en
pinMode(PIN, INPUT_PULLUP);


Is dit alleen een verschil in schrijfwijze ?
wat is de voorkeur eigenlijk ?

gr
Gerard

Advertisement

Gebruikers-avatar
Berichten: 2655
Geregistreerd: 06 Aug 2016, 01:03

Re: INPUT_PULLUP verschil

Berichtdoor Koepel » 11 Okt 2016, 22:50

Geen verschil. De tweede met INPUT_PULLUP heeft de voorkeur.

Let op de wijziging in de beschrijving: https://www.arduino.cc/en/Reference/pinMode, "Additionally, the INPUT mode explicitly disables the internal pullups".

Dus vroeger zette INPUT de pin als alleen input. Maar nu wordt ook de pullup resistor echt uitgezet.
De INPUT_PULLUP zet altijd de pullup resistor aan.
De OUTPUT zet alleen de pin als output, dus of het HIGH of LOW wordt, dat hangt er van af hoe het stond. Dat kan ook niet anders, want soms is een hard HIGH level of hard LOW level niet gewenst. Het is dus mogelijk om de output level alvast er in te zetten, voordat het echt OUTPUT wordt gemaakt. Dat is reuze handig om bijvoorbeeld een open-drain output te imiteren.

Je kunt dat zien in de broncode van pinMode: https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/wiring_digital.c

Kun je het nog volgen ?

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten