Хаки Arduino — Экономим RAM


По сравнению с Вашим настольным компьютером – у ардуины очень мало памяти. Очень 🙂 Всего 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”»

Добавить комментарий

Arduino

Что такое Arduino?
Зачем мне Arduino?
Начало работы с Arduino
Для начинающих ардуинщиков
Радиодетали (точка входа для начинающих ардуинщиков)
Первые шаги с Arduino

Разделы

  1. Преимуществ нет, за исключением читабельности: тип bool обычно имеет размер 1 байт, как и uint8_t. Думаю, компилятор в обоих случаях…

  2. Добрый день! Я недавно начал изучать программирование под STM32 и ваши уроки просто бесценны! Хотел узнать зачем использовать переменную типа…

3D-печать AI Arduino Bluetooth CraftDuino DIY Google IDE iRobot Kinect LEGO OpenCV Open Source Python Raspberry Pi RoboCraft ROS swarm ИК автоматизация андроид балансировать бионика версия видео военный датчик дрон интерфейс камера кибервесна манипулятор машинное обучение наше нейронная сеть подводный пылесос работа распознавание робот робототехника светодиод сервомашинка собака управление ходить шаг за шагом шаговый двигатель шилд юмор

OpenCV
Робототехника
Будущее за бионическими роботами?
Нейронная сеть - введение