mirror of
https://github.com/arduino/Arduino.git
synced 2024-11-30 11:24:12 +01:00
0e97bcb2df
By putting the ISRs and HardwareSerial instance for each instance in a separate compilation unit, the compile will only consider them for linking when the instance is actually used. The ISR is always referenced by the compiler runtime and the Serialx_available() function is always referenced by SerialEventRun(), but both references are weak and thus do not cause the compilation to be included in the link by themselves. The effect of this is that when multiple HardwareSerial ports are available, but not all are used, buffers are only allocated and ISRs are only included for the serial ports that are used. On the mega, this lowers memory usage from 653 bytes to just 182 when only using the first serial port. On boards with just a single port, there is no change, since the code and memory was already left out when no serial port was used at all. This fixes #1425 and fixes #1259. |
||
---|---|---|
.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/