1
0
mirror of https://github.com/arduino/Arduino.git synced 2024-11-29 10:24:12 +01:00
Go to file
Matthijs Kooijman 03fac844a8 Move interrupt handlers into HardwareSerial class
The actual interrupt vectors are of course defined as before, but they
let new methods in the HardwareSerial class do the actual work. This
greatly reduces code duplication and prepares for one of my next commits
which requires the tx interrupt handler to be called from another
context as well.

The actual content of the interrupts handlers was pretty much identical,
so that remains unchanged (except that store_char was now only needed
once, so it was inlined).

Now all access to the buffers are inside the HardwareSerial class, the
buffer variables can be made private.

One would expect a program size reduction from this change (at least
with multiple UARTs), but due to the fact that the interrupt handlers
now only have indirect access to a few registers (which previously were
just hardcoded in the handlers) and because there is some extra function
call overhead, the code size on the uno actually increases by around
70 bytes. On the mega, which has four UARTs, the code size decreases by
around 70 bytes.
2014-01-16 16:59:06 +01:00
.settings Update to eclipse project files 2011-12-31 15:30:50 +01:00
app Merge branch 'lib-1.5-rev2' into HEAD 2014-01-09 14:56:23 +01:00
build Merge remote-tracking branch 'matthijs/ide-1.5.x-ipaddress-const' into ide-1.5.x 2014-01-16 13:17:44 +01:00
core working on #223: Auto-detection of serial ports. Linux version ready 2013-05-06 12:31:01 +02:00
hardware Move interrupt handlers into HardwareSerial class 2014-01-16 16:59:06 +01:00
libraries Merge branch 'lib-1.5-rev2' into HEAD 2014-01-09 14:56:23 +01:00
.classpath jssc: updated config files (eclipse, ant build.xml, windows launcher, mac template.app), removed rxtx binaries 2013-11-28 17:27:13 +01:00
.gitignore Introducing Artistic Style: new IDE autoformatter 2013-10-14 18:11:30 +02:00
.project Fix eclipse project files 2012-01-11 14:18:48 +01:00
format.every.sketch.sh Added script to run astyle every once in a while against all .ino files 2013-12-11 21:55:00 +01:00
license.txt adding LGPL (a bit late, whoops). 2007-10-12 01:58:48 +00:00
readme.txt Update readme.txt 2013-10-23 18:39:19 +02:00
todo.txt Updates to build.xml. (version auto defetect for "dist" target) 2013-01-24 14:46:57 +01:00

Arduino is an open-source physical computing platform based on a simple i/o
board and a development environment that implements the Processing/Wiring
language. Arduino can be used to develop stand-alone interactive objects or
can be connected to software on your computer (e.g. Flash, Processing, MaxMSP).
The boards can be assembled by hand or purchased preassembled; the open-source
IDE can be downloaded for free.

For more information, see the website at: http://www.arduino.cc/
or the forums at: http://arduino.cc/forum/

To report a *bug* in the software or to request *a simple enhancement* go to:
http://github.com/arduino/Arduino/issues

More complex requests and technical discussion should go on the Arduino Developers
mailing list:
https://groups.google.com/a/arduino.cc/forum/#!forum/developers

If you're interested in modifying or extending the Arduino software, we strongly 
suggest discussing your ideas on the Developers mailing list *before* starting
to work on them. That way you can coordinate with the Arduino Team and others,
giving your work a higher chance of being integrated into the official release
https://groups.google.com/a/arduino.cc/forum/#!forum/developers

INSTALLATION
Detailed instructions are in reference/Guide_Windows.html and
reference/Guide_MacOSX.html.  For Linux, see the Arduino playground:
http://www.arduino.cc/playground/Learning/Linux

CREDITS
Arduino is an open source project, supported by many.

The Arduino team is composed of Massimo Banzi, David Cuartielles, Tom Igoe,
Gianluca Martino, Daniela Antonietti, and David A. Mellis.

Arduino uses the GNU avr-gcc toolchain, avrdude, avr-libc, and code from
Processing and Wiring.

Icon and about image designed by ToDo: http://www.todo.to.it/