По сравнению с Вашим настольным компьютером – у ардуины очень мало памяти. Очень 🙂 Всего 1Kb ОЗУ (RAM)
для Atmega8/Atmega168, для Atmega328 – 2Kb
Но! Есть небольшой хак, который позволит вызволить Вам для программы дополнительные 100 байт памяти (для 1Kb памяти – это почти 10%!) 🙂
Всё очень просто – для работы с последовательным портом через Serial используется буфер, размер которого определяется в файле:
\hardware\cores\arduino\HardwareSerial.cpp
это в последних версиях Arduino IDE – 0017 (0016), а для более старых IDE нужно редактировать файл:
\hardware\cores\arduino\wiring_serial.c
находим строчку
#define RX_BUFFER_SIZE 128
Значение буфера можно уменьшить до 32 или 16. Если вашей программе вообще не требуется работать с COM-портом – можете уменьшить это значение настолько на сколько считаете нужным, только оставляйте его больше 0 и кратным степени 2 😉
По теме
ATmega — использование памяти
0 комментариев на «“Хаки Arduino — Экономим RAM”»
Плохой совет. Если не использовать библиотеку Serial умный компилятор сам выбросит неиспользуемый буфер.