INPUT_PULLUP verschil
2 berichten
• Pagina 1 van 1
INPUT_PULLUP verschil
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
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
Re: INPUT_PULLUP verschil
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 ?
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 ?
2 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 9 gasten