# Arduino: faster alternatives to digitalread() and digitalwrite()?

What are the fastest alternatives to calling the Arduino functions digitalread() and digitalwrite()? AVR-specific or chip-specific solutions are acceptable.

-
Reading this and your last question, it seems like you want to do something pretty quickly. I think giving details on what it is and how fast might be useful. – Oli Glaser Nov 22 '11 at 1:16
@Oli, good idea, thanks. Current project is a tuning system for RC transmitters. It works well, but I would like to make the RC PWM signal decoding efficient so that I can use the same framework for other projects. Here's a writeup on what I have so far: eastbay-rc.blogspot.com/2011/11/… – Mark Harrison Nov 27 '11 at 2:17

## migrated from stackoverflow.comNov 21 '11 at 23:42

Access the digital ports directly!

-

Use the ChipKit Uno32. It's much faster than the AVR-based Arduinos. It will also deal with your timing problems.

-
I don't think buying faster hardware is the best answer here, at least not until you've reached the bounds of your current hardware and decided that you need something faster. – Jon L Nov 22 '11 at 0:42
Why the downvotes? He wanted the fastest solution, not just a faster one, which I've provided. Can anyone suggest a faster Arduino-based solution? – Leon Heller Nov 22 '11 at 1:51
Because the ChipKit is not an arduino, but an arduino compatible platform. This means that although port switching is faster , there is a big likelihood of a rewrite of some libraries. Ethernet, XBee, SD card libraries may not work at all out of the box. Furthermore, Mark specifically asks for alternative function calls of digitalRead/Write, not for a new platform (doh). – Hans Nov 22 '11 at 8:43
No, it's a fine answer... I didn't realize such a thing existed, and at such a price point. Downvoters, follow my lead and upvote... Thanks Leon! – Mark Harrison Nov 22 '11 at 18:17
I said it would probably solve all Mark's problems. – Leon Heller Nov 22 '11 at 20:58
show 3 more comments

This library is a good alternative: http://code.google.com/p/digitalwritefast/

-