Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
C Programming for Arduino

You're reading from   C Programming for Arduino Building your own electronic devices is fascinating fun and this book helps you enter the world of autonomous but connected devices. After an introduction to the Arduino board, you'll end up learning some skills to surprise yourself.

Arrow left icon
Product type Paperback
Published in May 2013
Publisher Packt
ISBN-13 9781849517584
Length 512 pages
Edition 1st Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Julien Bayle Julien Bayle
Author Profile Icon Julien Bayle
Julien Bayle
Arrow right icon
View More author details
Toc

Table of Contents (21) Chapters Close

C Programming for Arduino
Credits
About the Author
Acknowledgement
About the Reviewers
www.PacktPub.com
Preface
Let's Plug Things FREE CHAPTER First Contact with C C Basics – Making You Stronger Improve Programming with Functions, Math, and Timing Sensing with Digital Inputs Sensing the World – Feeling with Analog Inputs Talking over Serial Designing Visual Output Feedback Making Things Move and Creating Sounds Some Advanced Techniques Networking Playing with Max 6 Framework Improving your C Programming and Creating Libraries Index

Memory management


This section is a very short one but not a less important one at all. We have to remember we have the following three pools of memory on Arduino:

  • Flash memory (program space), where the firmware is stored

  • Static Random Access Memory (SRAM), where the sketch creates and manipulates variables at runtime

  • EEPROM is a memory space to store long-term information

Flash and EEPROM, compared to SRAM, are non-volatile, which means the data persists even after the power is turned off. Each different Arduino board has a different amount of memory:

  • ATMega328 (UNO) has:

    • Flash 32k bytes (0.5k bytes used by the bootloader)

    • SRAM 2k bytes

    • EEPROM 1k bytes

  • ATMega2560 (MEGA) has:

    • Flash 256k bytes (8k bytes used by the bootloader)

    • SRAM 8k bytes

    • EEPROM 4k bytes

A classic example is to quote a basic declaration of a string:

char text[] = "I love Arduino because it rocks.";

That takes 32 bytes into SRAM. It doesn't seem a lot but with the UNO, you only have 2048 bytes available. Imagine you use a big lookup...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image