Programming with STM32: Getting Started with the Nucleo Board and C/C++
Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.




Create your own STM32 programs with ease!


Get up and running programming the STM32 line of microcontrollers from STMicroelectronics using the hands-on information contained in this easy-to-follow guide. Written by an experienced electronics hobbyist and author, Programming with STM32: Getting Started with the Nucleo Board and C/C++ features start-to-finish projects that clearly demonstrate each technique. Discover how to set up a stable development toolchain, write custom programs, download your programs to the development board, and execute them. You will even learn how to work with external servos and LED displays!


•Explore the features of STM32 microcontrollers from STMicroelectonics
•Configure your Nucleo-64 Microcontroller development board
•Establish a toolchain and start developing interesting applications
•Add specialized code and create cool custom functions
•Automatically generate C code using the STM32CubeMX application
•Work with the ARM Cortex Microcontroller Software Interface Standard and the STM hardware abstraction layer (HAL).
•Control servos, LEDs, and other hardware using PWM
•Transfer data to and from peripheral devices using DMA
•Generate waveforms and pulses through your microcontroller’s DAC


1126705983
Programming with STM32: Getting Started with the Nucleo Board and C/C++
Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.




Create your own STM32 programs with ease!


Get up and running programming the STM32 line of microcontrollers from STMicroelectronics using the hands-on information contained in this easy-to-follow guide. Written by an experienced electronics hobbyist and author, Programming with STM32: Getting Started with the Nucleo Board and C/C++ features start-to-finish projects that clearly demonstrate each technique. Discover how to set up a stable development toolchain, write custom programs, download your programs to the development board, and execute them. You will even learn how to work with external servos and LED displays!


•Explore the features of STM32 microcontrollers from STMicroelectonics
•Configure your Nucleo-64 Microcontroller development board
•Establish a toolchain and start developing interesting applications
•Add specialized code and create cool custom functions
•Automatically generate C code using the STM32CubeMX application
•Work with the ARM Cortex Microcontroller Software Interface Standard and the STM hardware abstraction layer (HAL).
•Control servos, LEDs, and other hardware using PWM
•Transfer data to and from peripheral devices using DMA
•Generate waveforms and pulses through your microcontroller’s DAC


25.0 In Stock
Programming with STM32: Getting Started with the Nucleo Board and C/C++

Programming with STM32: Getting Started with the Nucleo Board and C/C++

by Donald Norris
Programming with STM32: Getting Started with the Nucleo Board and C/C++

Programming with STM32: Getting Started with the Nucleo Board and C/C++

by Donald Norris

Paperback(Student)

$25.00 
  • SHIP THIS ITEM
    In stock. Ships in 1-2 days.
  • PICK UP IN STORE

    Your local store may have stock of this item.

Related collections and offers


Overview

Publisher's Note: Products purchased from Third Party sellers are not guaranteed by the publisher for quality, authenticity, or access to any online entitlements included with the product.




Create your own STM32 programs with ease!


Get up and running programming the STM32 line of microcontrollers from STMicroelectronics using the hands-on information contained in this easy-to-follow guide. Written by an experienced electronics hobbyist and author, Programming with STM32: Getting Started with the Nucleo Board and C/C++ features start-to-finish projects that clearly demonstrate each technique. Discover how to set up a stable development toolchain, write custom programs, download your programs to the development board, and execute them. You will even learn how to work with external servos and LED displays!


•Explore the features of STM32 microcontrollers from STMicroelectonics
•Configure your Nucleo-64 Microcontroller development board
•Establish a toolchain and start developing interesting applications
•Add specialized code and create cool custom functions
•Automatically generate C code using the STM32CubeMX application
•Work with the ARM Cortex Microcontroller Software Interface Standard and the STM hardware abstraction layer (HAL).
•Control servos, LEDs, and other hardware using PWM
•Transfer data to and from peripheral devices using DMA
•Generate waveforms and pulses through your microcontroller’s DAC



Product Details

ISBN-13: 9781260031317
Publisher: McGraw Hill LLC
Publication date: 03/21/2018
Edition description: Student
Pages: 304
Product dimensions: 5.90(w) x 8.90(h) x 0.70(d)

About the Author

Donald Norris (Barrington, New Hampshire) is an adjunct professor at the Southern New Hampshire University. He is the author of five other TAB guides, including The Internet of Things: Do-It-Yourself at Home Projects for Arduino, Raspberry Pi and BeagleBone Black and Programming the Intel Edison: Getting Started with Processing and Python.

Table of Contents

Preface xiii

1 Introduction to the STMicroelectronics Line of Microcontrollers 1

Microcomputer vs Microcontroller 1

STM Nucleo Boards 2

Principal MCU Components 3

Bit Serial Ports 19

Nucleo-64 Board Options 22

Summary 27

2 STM MCU Software 29

Open-Source versus Commercial Proprietary Software 29

Bare Metal Development 30

Brief History of MCU 30

The MCU Toolchain 32

Configuring a STM32 Toolchain 34

Summary 52

3 STM32CubeMX Application 53

Pinout Tab 58

MCU Alternative Functions 60

Integrated Peripheral (IP) Tree Pane 61

Creating an Example Project using CubeMX 66

The main.c Code Listing 72

ARM Cortex Microcontroller Software Interface Standard (CMSIS) 78

CubeMX-Generated C Code 80

Compiling and Downloading the Project 80

Downloading the Hex Code 82

Summary 86

4 STM Project Development 87

Hello World Project 87

Creating the Hello Nucleo Project 87

Adding Functionality to the Program 98

Compiling and Executing the Modified Program 98

Simple Modification for the main.c Function 99

Complex Modification for the main.c File 99

Summary 100

5 General-Purpose Input Output (GPIO) and the STM Hardware Abstraction Layer (HAL) 101

Memory-Mapped Peripherals 103

Core Memory Addresses 103

Peripheral Memory Addresses 105

HAL_GPIO Module 107

GPIO Pin Hardware 109

LED Test Demonstration 111

Enabling Multiple Outputs 122

Push-Button Test Demonstration 123

Clock Speed Demonstration 124

Setting the Pin Clock Speeds 125

Summary 128

6 Interrupts 129

Interrupts 129

NVIC Specifications 130

Interrupt Process 131

External Interrupts 134

Interrupt Demonstration 135

Summary 144

7 Timers 145

STM Timer Peripherals 145

STM Timer Configuration 147

Update Event Calculation 148

Polled or Non-interrupt Blink LED Timer Demonstration 149

Test Run 155

Interrupt-Driven Blink LED Timer Demonstration 155

Test Run 157

Multi-rate Interrupt-Driven Blink LED Timer Demonstration 157

Test Run 164

Modification to the Multi-rate Program 165

Test Run 165

Summary 166

8 Bit Serial Communications 167

UARTs and USARTs 167

USART Configuration 170

Windows Terminal Program 172

Enabling USART2 175

USART Transmit Demonstration Program 176

Test Run 181

USART Receive Demonstration Program 182

Test Run 187

Summary 188

9 Analog-to-Digital Conversion 189

ADC Functions 190

ADC Module with HAL 192

ADC Conversion Modes 197

Channels, Groups, and Ranks 198

ADC Demonstration 200

ADC Demonstration Software 205

Summary 212

10 Pulse Width Modulation (PWM) 213

General-Purpose Timer PWM Signal Generation 214

Timer Hardware Architecture 216

PWM Signals with HAL 216

Enabling the PWM Function 220

PWM Demonstration Software 222

Demonstration One 227

Demonstration Two 228

Demonstration Three 231

Demonstration Four 235

Adding Functional Test Code 239

Test Results 239

Summary 240

11 Direct Memory Access (DMA) and the Digital-to-Analog Converter (DAC) 241

DMA 241

Basic Data Transfer Concepts 242

DMA Controller Details 245

Using HAL with DMA 246

Demonstration One 251

DAC Peripheral 259

DAC Principles 259

HAL Software for the DAC 261

Demonstration Two 263

Demonstration Three 269

Summary 278

Index 281

From the B&N Reads Blog

Customer Reviews