mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-29 10:24:12 +01:00
03fac844a8
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. |
||
---|---|---|
.settings | ||
app | ||
build | ||
core | ||
hardware | ||
libraries | ||
.classpath | ||
.gitignore | ||
.project | ||
format.every.sketch.sh | ||
license.txt | ||
readme.txt | ||
todo.txt |
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/