Op werkdagen voor 23:00 besteld, morgen in huis Gratis verzending vanaf €20

Smaller C

Lean Code for Small Machines

Paperback Engels 2021 9781098100339
Verkooppositie 2844Hoogste positie: 2844
Verwachte levertijd ongeveer 8 werkdagen


For makers looking to use the smallest microcontrollers or to wring the highest performance out of larger ones, the C language is still the best option. This practical book provides a solid grounding in C basics for anyone who tinkers with programming microcontrollers. You'll explore the many ways C enables developers and makers to get big results out of tiny devices.

Author Marc Loy shows you how to write clean, maintainable C code from scratch. This language and its cousin, C++, are still widely used to write low-level code for device drivers or operating systems. By understanding C syntax and its quirks, you'll gain an enduring computer language literacy that will help you pick up new languages and styles more easily.

- Learn C fundamentals, such as data types, flow control, and functions
- Explore memory management including how programs work on small devices
- Understand answers provided in online forums such as Reddit or Stack Overflow
- Write efficient, custom C code that's both readable and maintainable
- Analyze the performance of your code and weigh optimizations
- Evaluate third-party libraries for use in your own projects
- Create your own libraries to share with others


Aantal pagina's:296
Hoofdrubriek:IT-management / ICT


Wees de eerste die een lezersrecensie schrijft!

Geef uw waardering

Zeer goed Goed Voldoende Matig Slecht


How to Use This Book
Conventions Used in This Book
Using Code Examples
O’Reilly Online Learning
How to Contact Us

1. The ABCs of C
Strengths and Weaknesses
Getting Started
Tools Required
Creating a C “Hello, World”
Compiling Your Code
Running Your Code
Next Steps

2. Storing and Stating
Statements in C
Statement Separators
Statement Flow
Variables and Types
Getting User Input
Strings and Characters
Variable Names
Variable Assignments
printf() and scanf()
printf() Formats
Tailored Output
scanf() and Parsing Inputs
Operators and Expressions
Arithmetic Operators
Order of Operations
Type Casting
Next Steps

3. Flow of Control
Boolean Values
Comparison Operators
Logical Operators
The if Statement
The switch Statement
The Ternary Operator and Conditional Assignment
Loop Statements
The for Statement
The while Statement
The do/while Variation
Nested Loops and Tables
Variable Scope
Next Steps

4. Bits and (Many) Bytes
Storing Multiple Things with Arrays
Creating and Manipulating Arrays
Review of Strings
Multidimensional Arrays
Accessing Elements in Multidimensional Arrays
Storing Bits
Binary, Octal, Hexadecimal
Octal and Hexadecimal Literals in C
Input and Output of Octal and Hex Values
Bitwise Operators
Mixing Bits and Bytes
Conversion Answers
Next Steps

5. Functions
Familiar Functions
Function Flow
Simple Functions
Sending Information to Functions
Passing Simple Types
Passing Strings to Functions
Multiple Types
Exiting a Function
Returning Information
Using Returned Values
Ignoring Returned Values
Nested Calls and Recursion
Recursive Functions
Variable Scope
Global Variables
The main() Function
Return values and main()
Command-Line Arguments and main()
Next Steps

6. Pointers and References
Addresses in C
The NULL Value and Pointer Errors
Local Variables and the Stack
Global Variables and the Heap
Pointer Arithmetic
Array Pointers
Functions and Pointers
Managing Memory with Arrays
Allocating with malloc()
Deallocating with free()
C Structures
Defining Structures
Assigning and Accessing Structure Members
Pointers to Structures
Functions and Structures
Pointer Syntax Recap
Next Steps

7. Libraries
The C Standard Library
Putting It Together
Filling In Strings
Finding Our Interest
Finding New Libraries
Next Steps

8. Real-World C With Arduino
Arduino IDE (Win, Mac, Linux)
Installing on Windows
Installing on macOS
Installing on Linux
Your First Arduino Project
Selecting Your Board
Hello, LED!
An External LED Upgrade
Arduino Libraries
Managing Libraries
Using Arduino Libraries
Arduino Sketches and C++
C++ Objects and Variables
More Practice with Objects
C++ Considerations
Object Homework
Next Steps

9. Smaller Systems
The Arduino Environment
Special Values
Special Types
“Built-In” Functions
Trying Out the Arduino “Stuff”
Microcontroller I/O
Sensors and Analog Input
The Serial Monitor
Is It Hot in Here?
Segmented Displays
Buttons and Digital Input
Just How Hot Is It?
Memory Management on Arduino
Remembering Choices
Interrupt Service Routines
Interrupt-Driven Programming
Next Steps

10. Faster Code
The Setup
Floating-Point Versus Integer Math
Floating-Point Math Alternatives
Integer Math Versus No Math
Lookup Tables
The Project So Far
The Power of Powers of 2
Loop Optimizations
Unrolling for Fun and Profit
Recursion Versus Iteration
String Versus char[]
Our Final Offer
Next Steps

11. Custom Libraries
Creating Your Own Library
Preprocessor Directives
Preprocessor Macros
Custom Type Definitions
Our Car Project
Multifile Projects
Code (.ino) Files
Header Files
Importing Custom Libraries
Facilitating Communication
Retrofitting Our Car
Creating a Controller
Creating the Library
Updating the Car Project
Getting It Under Control
Go Driving!
Documentation and Distribution
Next Steps

12. Next Next Steps
Intermediate and Advanced Topics
IoT and Arduino
Arduino Source Code
Other Microcontrollers
Industry C/C++
Back to the Future

A. Hardware and Software
Getting the Code
Getting the Hardware: Adafruit
VS Code
Arduino IDE
GNU Compiler Collection

B. printf() Format Specifier Details
Specifier Syntax
Specifier Types
Specifier Flags
Width and Precision
Common Formats


Managementboek Top 100


Populaire producten



        Smaller C