Giter VIP home page Giter VIP logo

Comments (5)

GoogleCodeExporter avatar GoogleCodeExporter commented on May 29, 2024
By the way, this code works on an Arduino Uno.  It doesn't work on an Arduino 
Mega.

Original comment by [email protected] on 30 Oct 2012 at 10:19

from arduino-pinchangeint.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 29, 2024
There is a link from the front page to the "Groups", which is the forum. I wish 
the forum were more prominent, *sigh*.

Regarding your issue, there are a couple of problems with your code.  You have 
correctly set encoderPos to be volatile, but not A_set and B_set. Those are 
used in both of your interrupts. The general rule is, if a variable is shared 
with any interrupt, you must make it volatile.  Sharing a variable between two 
interrupts means they should be volatile.

Also, you do not perform the digitalWrite(PIN, HIGH) to turn on the resistors 
on your input pins. I can imagine that the high input impedance is creating all 
sorts of noise on the pins and preventing the code from reaching your "Start!" 
print statement.

You do not need to use the digitalRead() commands in your interrupt handlers.  
See http://code.google.com/p/arduino-pinchangeint/wiki/Usage .  The 
PCintPort::pinState variable will tell you if it's HIGH or LOW. That will save 
a few micros, anyway. Besides, the pinState may have changed (because of switch 
bounce) by the time you read it in the Interrupt handler. Switch bounce is a 
very annoying thing.

Finally, if you are working on rotary encoders, you may want to refer to 
http://code.google.com/p/adaencoder/ . There I have a rotary encoder class. 
Maybe I have already done what you are trying to do.


Original comment by [email protected] on 1 Nov 2012 at 4:50

  • Changed state: Started

from arduino-pinchangeint.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 29, 2024

Original comment by [email protected] on 1 Nov 2012 at 4:50

from arduino-pinchangeint.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 29, 2024
P.S. The Mega uses entirely different pins, and mostly different ports, than 
its smaller cousins. Refer to the other posting in this issue section, and the 
Wiki, for more information.  Good luck.

Also, sorry it has taken me a number of days to get back to you. I've been 
hacking on an MP3 chip outside of work and haven't checked my email lately.

Original comment by [email protected] on 1 Nov 2012 at 4:52

from arduino-pinchangeint.

GoogleCodeExporter avatar GoogleCodeExporter commented on May 29, 2024
No updates in a month; I am going to close this issue. Note there are a number 
of changes to the PinChangeInt code lately; try to take a look at that.

Original comment by [email protected] on 29 Nov 2012 at 2:45

  • Changed state: WontFix

from arduino-pinchangeint.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.