全部商品分类

您现在的位置: 全部商品分类 > 电子电脑 > 计算机技术 > 硬件及维护

STM32Cube高效开发教程(基础篇)

  • 定价: ¥119.8
  • ISBN:9787115551771
  • 开 本:16开 平装
  •  
  • 折扣:
  • 出版社:人民邮电
  • 页数:487页
  • 作者:编者:王维波//鄢...
  • 立即节省:
  • 2021-09-01 第1版
  • 2021-09-01 第1次印刷
我要买:
点击放图片

导语

  

内容提要

  

    STM32CubeMX和STM32CubeIDE是ST公司提供的用于STM32开发的免费工具软件,是STM32Cube生态系统的核心工具软件。本书首先详细介绍这两个软件的用法,然后以STM32F407为研究对象,采用STM32Cube开发方式介绍STM32F407各种系统功能和常用外设的编程开发,包括外设基本工作原理和接口电路、HAL驱动程序功能和使用方法,以及针对一个STM32F407开发板的完整编程示例。通过阅读本书,读者可以掌握STM32Cube开发方式和工具软件的使用,掌握基于HAL库的STM32F407系统功能和常用外设的编程开发方法。
    本书适合具有C语言、微机原理或单片机基础,想要学习STM32最新开发技术的读者阅读,可以作为高等院校电子、自动化、计算机、测控等专业的教材,也可作为STM32应用开发者的参考书。

目录

第一部分  软硬件基础
  第1章  概述
    1.1  STM32系列单片机
    1.2  STM32的器件驱动库
      1.2.1  标准外设库
      1.2.2  HAL/LL库
    1.3  STM32Cube生态系统
      1.3.1  嵌入式软件
      1.3.2  软件工具
    1.4  STM32Cube开发方式
  第2章  STM32F407和开发板
    2.1  STM32F407简介
      2.1.1  功能特性
      2.1.2  内部结构
      2.1.3  引脚定义
      2.1.4  最小系统参考设计
    2.2  STM32F407开发板
      2.2.1  开发板功能
      2.2.2  开发板基本电路
    2.3  仿真器
  第3章  STM32CubeMX的使用
    3.1  安装STM32CubeMX
    3.2  安装MCU固件包
      3.2.1  软件库文件夹设置
      3.2.2  管理嵌入式软件包
      3.2.3  MCU固件库文件组成
    3.3  软件功能和基本使用
      3.3.1  软件界面
      3.3.2  新建项目
      3.3.3  MCU图形化配置界面总览
      3.3.4  MCU配置
      3.3.5  时钟配置
      3.3.6  项目管理
      3.3.7  生成报告和代码
    3.4  项目示例:LED初始输出
      3.4.1  硬件电路
      3.4.2  CubeMX项目设置
      3.4.3  生成CubeIDE项目代码
  第4章  STM32CubeIDE的使用
    4.1  安装STM32CubeIDE
    4.2  基本概念和MCU固件库设置
      4.2.1  启动软件
      4.2.2  打开项目
      4.2.3  CubeIDE的一些基本概念
      4.2.4  STM32Cube软件库设置
    4.3  C/C++场景的界面功能和操作
      4.3.1  主要的视图
      4.3.2  工具栏功能
      4.3.3  文本编辑器功能和操作
    4.4  CubeMX生成项目的文件组成
      4.4.1  CMSIS驱动程序文件
      4.4.2  HAL驱动程序文件
      4.4.3  用户程序文件
      4.4.4  启动文件
      4.4.5  根目录下的文件
      4.4.6  Include搜索路径
    4.5  项目管理、构建和下载调试
      4.5.1  项目管理
      4.5.2  项目构建
      4.5.3  下载和调试
    4.6  使用内置的CubeMX
      4.6.1  创建项目
      4.6.2  配置MCU和生成代码
    4.7  CubeIDE使用偏好设置
    4.8  HAL库的一些基本问题
      4.8.1  基本数据类型
      4.8.2  一些通用定义
      4.8.3  获取HAL库帮助信息
  第5章  STM32CubeMonitor的使用
    5.1  STM32CubeMonitor功能简介
    5.2  CubeMonitor基本操作
      5.2.1  Node-RED中的一些基本概念
      5.2.2  设计模式界面和基本操作
      5.2.3  程序部署和Dashboard界面
    5.3  CubeMonitor基本功能使用示例
      5.3.1  STM32 MCU项目
      5.3.2  变量监测的基本操作
      5.3.3  监测外设寄存器的值
      5.3.4  监测变量的数值显示
      5.3.5  修改变量的值
    5.4  CubeMonitor的使用小结
第二部分  系统功能和常用外设的使用
  第6章  GPIO输入/输出
    6.1  GPIO功能概述
    6.2  GPIO的HAL驱动程序
    6.3  GPIO使用示例
      6.3.1  示例功能和CubeMX配置
      6.3.2  项目初始化代码分析
      6.3.3  编写按键和LED的驱动程序
      6.3.4  使用驱动程序实现示例功能
    6.4  作为公共驱动程序
  第7章  中断系统和外部中断
    7.1  STM32F407的中断
      7.1.1  中断向量表
      7.1.2  中断优先级
      7.1.3  中断设置相关HAL驱动程序
    7.2  外部中断EXTI
      7.2.1  外部中断功能和外部中断线
      7.2.2  外部中断相关HAL函数
    7.3  外部中断使用示例
      7.3.1  示例功能和CubeMX项目设置
      7.3.2  项目初始代码分析
      7.3.3  编写用户功能代码
      7.3.4  中断优先级的测试
  第8章  FSMC连接TFT LCD
    8.1  FSMC连接TFT LCD的原理
      8.1.1  FSMC接口
      8.1.2  TFT LCD接口
      8.1.3  FSMC与TFT LCD的连接
    8.2  FSMC连接LCD的电路和接口初始化
      8.2.1  电路连接
      8.2.2  示例功能和CubeMX项目设置
      8.2.3  初始代码分析
    8.3  使用LCD驱动程序
      8.3.1  设置搜索路径
      8.3.2  LCD驱动程序的改写
      8.3.3  LCD驱动程序的原理和功能
      8.3.4  LCD驱动程序的使用
    8.4  作为公共驱动程序
  第9章  基础定时器
    9.1  定时器概述
    9.2  基础定时器内部结构和功能
    9.3  基础定时器HAL驱动程序
      9.3.1  基础定时器主要函数
      9.3.2  其他通用操作函数
      9.3.3  中断处理
    9.4  外设的中断处理概念小结
    9.5  基础定时器使用示例
      9.5.1  示例功能和CubeMX项目配置
      9.5.2  程序功能实现
  第10章  通用定时器
    10.1  通用定时器功能概述
      10.1.1  功能概述
      10.1.2  结构框图
    10.2  典型功能原理和HAL驱动
      10.2.1  生成PWM波
      10.2.2  输出比较
      10.2.3  输入捕获
      10.2.4  PWM输入模式
      10.2.5  定时器同步
      10.2.6  通用定时器中断事件和回调函数
    10.3  示例1:生成PWM波
      10.3.1  电路原理和CubeMX项目配置
      10.3.2  输出固定占空比PWM波
      10.3.3  输出可变占空比PWM波
    10.4  示例2:输出比较
      10.4.1  示例功能和CubeMX项目设置
      10.4.2  程序功能实现
    10.5  示例3:输入PWM
      10.5.1  示例功能和CubeMX项目设置
      10.5.2  程序功能实现
  第11章  实时时钟
    11.1  RTC功能概述
      11.1.1  RTC的功能
      11.1.2  工作原理
      11.1.3  RTC的中断和复用引脚
      11.1.4  RTC的HAL基础驱动程序
    11.2  周期唤醒和闹钟
      11.2.1  周期唤醒相关HAL函数
      11.2.2  闹钟相关HAL函数
      11.2.3  示例功能和电路
      11.2.4  CubeMX项目配置
      11.2.5  程序功能实现
    11.3  备份寄存器
      11.3.1  备份寄存器的功能
      11.3.2  示例功能与CubeMX项目设置
      11.3.3  程序实现和运行效果
    11.4  入侵检测和时间戳
      11.4.1  入侵检测的功能
      11.4.2  示例功能与CubeMX项目设置
      11.4.3  程序功能实现
  第12章  USART/UART通信
    12.1  USART/UART接口概述
      12.1.1  USART/UART接口信号
      12.1.2  开发板上的串口电路
      12.1.3  串口通信参数
    12.2  串口的HAL驱动程序
      12.2.1  常用功能函数
      12.2.2  常用的宏函数
      12.2.3  中断事件与回调函数
    12.3  串口通信示例
      12.3.1  硬件电路与示例功能
      12.3.2  CubeMX项目设置
      12.3.3  程序功能实现
      12.3.4  接收不定长度数据的改进代码
  第13章  DMA
    13.1  DMA功能概述
      13.1.1  DMA简介
      13.1.2  DMA传输属性
    13.2  DMA的HAL驱动程序
      13.2.1  DMA的HAL函数概述
      13.2.2  DMA传输初始化配置
      13.2.3  启动DMA数据传输
      13.2.4  DMA的中断
    13.3  串口的DMA传输示例
      13.3.1  示例功能与CubeMX项目设置
      13.3.2  程序功能实现
  第14章  ADC
    14.1  ADC功能概述
      14.1.1  ADC的特性
      14.1.2  ADC的工作原理
      14.1.3  多重ADC模式
    14.2  ADC的HAL驱动程序
      14.2.1  常规通道
      14.2.2  注入通道
      14.2.3  多重ADC
    14.3  示例1:软件启动ADC转换
      14.3.1  电路和示例功能
      14.3.2  CubeMX项目设置
      14.3.3  程序功能实现
    14.4  示例2:定时器触发ADC转换
      14.4.1  示例功能和CubeMX项目设置
      14.4.2  程序功能实现
    14.5  示例3:多通道和DMA传输
      14.5.1  示例功能和CubeMX项目设置
      14.5.2  程序功能实现
    14.6  示例4:双ADC同步转换
      14.6.1  示例功能与CubeMX项目设置
      14.6.2  程序功能实现
  第15章  DAC
    15.1  DAC功能概述
      15.1.1  DAC的结构和特性
      15.1.2  功能说明
    15.2  DAC的HAL驱动程序
      15.2.1  DAC驱动宏函数
      15.2.2  DAC驱动功能函数
    15.3  示例1:软件触发DAC转换
      15.3.1  开发板上的DAC电路
      15.3.2  示例功能和CubeMX项目设置
      15.3.3  程序功能实现
    15.4  示例2:输出三角波
      15.4.1  示例功能和CubeMX项目设置
      15.4.2  程序功能实现
    15.5  示例3:使用DMA输出自定义波形
      15.5.1  示例功能和CubeMX项目设置
      15.5.2  程序功能实现
  第16章  SPI通信
    16.1  SPI接口和通信协议
      16.1.1  SPI硬件接口
      16.1.2  SPI传输协议
      16.1.3  STM32F407的SPI接口
    16.2  SPI的HAL驱动程序
      16.2.1  SPI寄存器操作的宏函数
      16.2.2  SPI初始化和阻塞式数据传输
      16.2.3  中断方式数据传输
      16.2.4  DMA方式数据传输
    16.3  Flash存储芯片W25Q128
      16.3.1  硬件接口和连接
      16.3.2  存储空间划分
      16.3.3  数据读写的原则
      16.3.4  操作指令
      16.3.5  状态寄存器
    16.4  示例1:轮询方式读写W25Q128
      16.4.1  示例功能与CubeMX项目设置
      16.4.2  初始程序
      16.4.3  编写W25Q128的驱动程序
      16.4.4  W25Q128功能测试
    16.5  示例2:DMA方式读写W25Q128
      16.5.1  示例功能和CubeMX项目设置
      16.5.2  程序功能实现
  第17章  I2C通信
    17.1  I2C总线和通信协议
      17.1.1  I2C总线结构
      17.1.2  I2C总线通信协议
      17.1.3  STM32F407的I2C接口
    17.2  I2C的HAL驱动程序
      17.2.1  I2C接口的初始化
      17.2.2  阻塞式数据传输
      17.2.3  中断方式数据传输
      17.2.4  DMA方式数据传输
    17.3  EEPROM芯片24C02
      17.3.1  接口和通信协议
      17.3.2  驱动程序设计
    17.4  读写24C02示例
      17.4.1  示例功能和CubeMX项目设置
      17.4.2  程序功能实现
  第18章  CAN总线通信
    18.1  CAN总线结构和传输协议
      18.1.1  CAN总线结构
      18.1.2  CAN总线传输协议
    18.2  CAN外设工作原理和HAL驱动程序
      18.2.1  片上CAN外设的功能概述
      18.2.2  CAN模块的基本控制
      18.2.3  CAN模块的测试模式
      18.2.4  消息发送
      18.2.5  消息接收
      18.2.6  标识符筛选
      18.2.7  中断及其处理
    18.3  开发板上的CAN接口电路
    18.4  示例1:轮询方式CAN通信
      18.4.1  示例功能和CubeMX项目设置
      18.4.2  程序功能实现
    18.5  示例2:中断方式CAN通信
      18.5.1  示例功能和CubeMX项目设置
      18.5.2  程序功能实现
  第19章  FSMC连接外部SRAM
    19.1  FSMC连接外部SRAM的原理
      19.1.1  FSMC控制区域的划分
      19.1.2  SRAM芯片与MCU的连接
    19.2  访问外部SRAM的HAL驱动程序
      19.2.1  外部SRAM初始化与控制
      19.2.2  外部SRAM读写函数
      19.2.3  直接通过指针访问外部SRAM
      19.2.4  DMA方式读写外部SRAM
    19.3  示例1:轮询方式读写外部SRAM
      19.3.1  示例功能和CubeMX项目设置
      19.3.2  程序功能实现
    19.4  示例2:DMA方式读写外部SRAM
      19.4.1  示例功能和CubeMX项目设置
      19.4.2  程序功能实现
  第20章  独立看门狗
    20.1  独立看门狗的工作原理
    20.2  独立看门狗的HAL驱动程序
    20.3  独立看门狗使用示例
      20.3.1  示例功能和CubeMX项目设置
      20.3.2  程序功能实现
  第21章  窗口看门狗
    21.1  窗口看门狗的工作原理
    21.2  窗口看门狗的HAL驱动程序
    21.3  窗口看门狗使用示例
      21.3.1  示例功能和CubeMX项目设置
      21.3.2  不使用EWI中断
      21.3.3  使用EWI中断
  第22章  电源管理和低功耗模式
    22.1  电源系统和低功耗模式
      22.1.1  STM32F4的电源系统
      22.1.2  STM32F4的低功耗模式
    22.2  CubeMX的功耗计算器
      22.2.1  PCC界面概述
      22.2.2  步骤和序列管理
      22.2.3  功耗分析
    22.3  睡眠模式
      22.3.1  睡眠模式的特点和操作
      22.3.2  睡眠模式编程示例
    22.4  停止模式
      22.4.1  停止模式的特点和操作
      22.4.2  停止模式编程示例
    22.5  待机模式
      22.5.1  待机模式的特点和操作
      22.5.2  待机模式编程示例
附录A  CubeMX模板项目和公共驱动程序的使用
  A.1  公共驱动程序的目录组成
  A.2  CubeMX模板项目
  A.3  新建CubeMX项目后导入模板项目的配置
  A.4  复制模板项目以新建CubeMX项目
  A.5  在CubeIDE中设置驱动程序搜索路径
附录B  复制一个项目
附录C  本书示例项目列表
附录D  缩略词
参考文献