element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Code Exchange
  • Technologies
  • More
Code Exchange
Documents need help with pull up on input
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Code Exchange to participate - click to join for free!
Actions
  • Share
  • More
  • Cancel
Engagement
  • Author Author: joetrotter
  • Date Created: 15 Feb 2017 3:09 PM Date Created
  • Last Updated Last Updated: 6 Oct 2021 9:02 PM
  • Views 578 views
  • Likes 0 likes
  • Comments 3 comments
Related
Recommended

need help with pull up on input

I am using the gertboard and wiringPi ,and trying to figure out the buttons. The program reads the low when the pull is pushed, but when not pushed, the input is acting as if it is floating and reading random HIGH and LOW. Im a teacher, new to RaspberryPi, beginner  programmer, and am trying to further my knowledge of C. Any help is appreciated. My code is:

 

#include <wiringPi.h>

#include <stdio.h>

#include <math.h>

#include <time.h>

int main(void)

{

wiringPiSetupGpio();

pinMode(25,INPUT);

pullUpDnControl(25,PUD_UP);

pinMode(17,OUTPUT);

pinMode(24,OUTPUT);  //if these unused i/o left not set up. they follow GPIO 17 for some reason

digitalWrite(24,LOW);

pinMode(23,OUTPUT);

digitalWrite(23,LOW);

pinMode(22,OUTPUT);

digitalWrite(22,LOW);

pinMode(21,OUTPUT);

digitalWrite(21,LOW);

pinMode(18,OUTPUT);

digitalWrite(18,LOW);

pinMode(15,OUTPUT);

digitalWrite(15,LOW);

int x=0;

while(x<20)

{

if (digitalRead(25)==LOW)

{

printf("pushed LED ON, %i\n",x);

digitalWrite(17,HIGH);

while (digitalRead(25)==LOW)

{;}

}

if (digitalRead(25)==HIGH)

{

printf("not pushed LED OFF , %i\n",x);

digitalWrite(17,LOW);

while (digitalRead(25)==HIGH)

{;}

x++;

}

 

}

return 0;

}

 

  • Share
  • History
  • More
  • Cancel
  • Sign in to reply
  • mcb1
    mcb1 over 8 years ago

    joetrotter

    I'd suggest removing these lines and seeing what happens.

     

      while (digitalRead(25)==LOW)
      {;}
    
    
      while (digitalRead(25)==HIGH)
      {;}

     

    These will have you stuck and not contnuing the loop.

     

    As the loop runs it checks if Pin25 is LOW or HIGH and does what it needs to.

     

    A comparison would be sending two pupils to a door and asking one is the Door OPEN, and the other is the Door CLOSED

    versus sending them and telling them to stay while it is OPEN or CLOSED.

     

     

    Outputs should only change when told to.

    So there should be no need to do anything else.

     

     

    Mark

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • joetrotter
    joetrotter over 8 years ago in reply to clem57

    Hey Clem,

    thanks for the fast reply. I had ground connected to the four buffered inputs at the top of the gertboard trying to keep LED's 9-12 off. i could have set B9-12 as outputs and set them LOW , but I didn't have enough straps. I guess I don't really understand how those BUF inputs work. I pulled the jumpers out and the program worked as expected. Is there any other way than setting the GPIO as outputs to keep unwired LED's from following other LED's?

     

    Sorry to have bothered you. I love the RaspPi's and excited to dig in and learn. Are there any workshops or classes that i could take that would shorten my learning curve on the RaspPi with C. I'm in the United States. My class has programmed the LEGO Mindstorm Robots in C with RobotC from Caregie Mellon Univ. and have studied analog and digital circuits for a semester. I'm trying to connect the programming, electronics, and peripherals all together.

     

    Thanks again

    Joe Trotter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • clem57
    clem57 over 8 years ago

    To help, the wiring of the button and LED would help with a picture and/or Fritzing diagram.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube