欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • STM32CubeIDE嵌入式开发教程(普通高等教育电子信息类系列教材)
      • 作者:编者:高延增|责编:吉玲//张振霞
      • 出版社:机械工业
      • ISBN:9787111782629
      • 出版日期:2025/11/01
      • 页数:300
    • 售价:26
  • 内容大纲

        本书内容涵盖嵌入式系统的概念、开发环境准备、GPIO操作、Cortex-M3微处理器架构、中断、定时器与看门狗、USART、I2C、SPI、DMA、ADC、DAC等核心知识点。本书配有丰富的实验案例,案例均基于一款性价比高的STM32F103VET6开发板,这款开发板外设接口丰富,含旋转编码器、用户按键、触摸按键、ST-Link下载调试接口、USB转TTL接口、蜂鸣器、1.3in OLED显示屏、Micro SD卡槽、舵机接口等,还预留了FSMC接口以连接触摸屏,为读者提供良好的硬件学习平台。
        本书设计了一个舵机控制器的综合案例,通过这个综合案例,读者可以系统性地学习嵌入式系统设计与实现的完整过程,包括需求分析、硬件原理介绍、软件设计与实现、系统测试与优化等环节。这个综合案例不仅帮助读者加深对各知识点的理解,还能提高动手实践能力。
        本书可作为普通高校计算机、电子信息、自动化、人工智能等相关专业的教材,也可作为从事嵌入式开发的工程技术人员的参考书。
  • 作者介绍

  • 目录

    前言
    第1章  概述
    第2章  初识嵌入式系统
      2.1  嵌入式系统概念
        2.1.1  嵌入式系统的定义
        2.1.2  嵌入式系统的关键特点
        2.1.3  常见的嵌入式系统分类标准
        2.1.4  嵌入式学习路线图
      2.2  嵌入式系统的处理器技术简介
        2.2.1  ARM的发展历程
        2.2.2  STM32系列芯片简介
      2.3  小结
      2.4  习题
    第3章  准备开发环境
      3.1  常用的ARM单片机集成开发环境
        3.1.1  Keil MDK
        3.1.2  IAR Embedded Workbench
        3.1.3  VS Code加插件
        3.1.4  STM32CubeIDE
      3.2  安装STM32CubeIDE
        3.2.1  下载
        3.2.2  安装
        3.2.3  ST-Link固件升级
      3.3  创建一个简单的STM32CubeIDE工程
        3.3.1  新建工程
        3.3.2  配置I/O接口
        3.3.3  下载程序到开发板
      3.4  小结
      3.5  习题
    第4章  通用输入/输出端口
      4.1  STM32F10x系列常用封装
        4.1.1  一般的常用封装
        4.1.2  STM32F103VET6的封装
      4.2  GPIO工作原理
        4.2.1  内部结构框图
        4.2.2  输入模式
        4.2.3  输出模式
      4.3  GPIO的寄存器
        4.3.1  端口配置寄存器GPIOx_CRL和GPIOx_CRH
        4.3.2  端口输入数据寄存器GPIOx_IDR
        4.3.3  端口输出数据寄存器GPIOx_ODR
        4.3.4  端口设置/清除寄存器GPIOx_BSRR
        4.3.5  端口位清除寄存器GPIOx_BRR
        4.3.6  端口配置锁定寄存器GPIOx_LCKR
      4.4  案例:按键控制LED灯
        4.4.1  案例目标
        4.4.2  案例方法
        4.4.3  实现过程
        4.4.4  案例效果
      4.5  小结

      4.6  习题
      4.7  实验:物理按键的软件消抖
        4.7.1  实验目标
        4.7.2  实验过程
        4.7.3  实验结果
    第5章  STM32F10x微处理器架构
      5.1  计算机架构简介
        5.1.1  由图灵机模型开始理解计算机
        5.1.2  冯·诺依曼结构与哈佛结构介绍
        5.1.3  算术逻辑单元
      5.2  嵌入式系统芯片架构
        5.2.1  Cortex-M3架构
        5.2.2  ARM指令集与流水线
        5.2.3  操作模式和特权等级
        5.2.4  异常、中断和向量表
        5.2.5  存储器映射
        5.2.6  调试支持
      5.3  STM32F1系列对Cortex-M3的实现
        5.3.1  系统架构
        5.3.2  存储器与映射
        5.3.3  嵌入式闪存
        5.3.4  启动配置
        5.3.5  电源控制
        5.3.6  复位
        5.3.7  时钟控制
      5.4  小结
      5.5  习题
      5.6  实验:流水灯的实现
        5.6.1  实验目标
        5.6.2  实验步骤
        5.6.3  实验结果
    第6章  中断和事件
      6.1  中断的思想
        6.1.1  中断与事件
        6.1.2  应用场景
      6.2  中断控制器
        6.2.1  NVIC简介
        6.2.2  优先级
        6.2.3  NVIC使用方法
      6.3  外部中断/事件控制器
        6.3.1  EXTI框图
        6.3.2  EXTI GPIO映像
        6.3.3  EXTI使用步骤
      6.4  案例:中断方式的按键控制LED
        6.4.1  案例目标
        6.4.2  案例方法
        6.4.3  实现过程
        6.4.4  案例效果
      6.5  小结
      6.6  习题

      6.7  实验:上升沿和双边沿触发的中断
        6.7.1  实验目标
        6.7.2  实验方法
        6.7.3  实验代码
        6.7.4  实验现象
    第7章  系统定时器与看门狗定时器
      7.1  可编程计时器
        7.1.1  计时器与计数器
        7.1.2  ARM单片机的时钟树
      7.2  系统定时器
        7.2.1  工作原理
        7.2.2  寄存器
        7.2.3  配置与使用
      7.3  案例:SysTick实现微秒级延时函数
        7.3.1  案例目标
        7.3.2  案例方法
        7.3.3  实现过程
        7.3.4  案例现象
      7.4  看门狗定时器基础
        7.4.1  独立看门狗
        7.4.2  独立看门狗配置与使用
        7.4.3  窗口看门狗
        7.4.4  窗口看门狗配置与使用
      7.5  案例:独立看门狗演示
        7.5.1  案例目标
        7.5.2  案例方法
        7.5.3  实现过程
        7.5.4  案例现象
      7.6  小结
      7.7  习题
      7.8  实验:窗口看门狗实验
        7.8.1  实验目标
        7.8.2  实验方法
        7.8.3  实验过程
        7.8.4  实验现象
    第8章  通用同步/异步通信
      8.1  通信概述
        8.1.1  单工和双工通信
        8.1.2  串行通信与并行通信
        8.1.3  串行通信的硬件连接
        8.1.4  异步串行通信的数据帧
      8.2  STM32F103xx的串口工作原理
        8.2.1  USART的结构框图
        8.2.2  使用HAL库函数操作USART
      8.3  案例:串口以查询方式收发数据
        8.3.1  案例目标
        8.3.2  案例方法
        8.3.3  实现过程
        8.3.4  案例现象
      8.4  小结

      8.5  习题
      8.6  实验:串口中断方式接收
        8.6.1  实验目标
        8.6.2  实验方法
        8.6.3  实验过程
        8.6.4  实验现象
    第9章  实时时钟与定时器
      9.1  实时时钟
        9.1.1  RTC的原理
        9.1.2  RTC相关的寄存器
        9.1.3  RTC的使用方法
      9.2  案例:使用RTC的时间功能
        9.2.1  案例目标
        9.2.2  案例方法
        9.2.3  实现过程
        9.2.4  案例效果
      9.3  定时器
        9.3.1  基本定时器
        9.3.2  通用定时器
        9.3.3  高级定时器
        9.3.4  定时器使用
      9.4  小结
      9.5  习题
      9.6  实验:PWM控制LED的亮度
        9.6.1  实验目标
        9.6.2  实验方法
        9.6.3  实验过程
        9.6.4  实验现象
    第10章  集成电路间总线
      10.1  I2C通信协议
        10.1.1  I2C的物理层
        10.1.2  I2C的协议层
      10.2  STM32F103的I2C外设
        10.2.1  总体介绍
        10.2.2  I2C从模式
        10.2.3  I2C主模式
        10.2.4  中断请求
      10.3  I2C的HAL库用法
        10.3.1  阻塞式传输
        10.3.2  中断式传输
      10.4  小结
      10.5  习题
      10.6  实验:OLED屏的显示驱动
        10.6.1  实验目标
        10.6.2  实验方法
        10.6.3  实验过程
        10.6.4  实验现象
    第11章  串行外设接口
      11.1  SPI通信协议
        11.1.1  简介

        11.1.2  一主一从的SPI通信过程
        11.1.3  一主多从的SPI连接方式
      11.2  STM32F10x的SPI外设
        11.2.1  原理框图
        11.2.2  时序图
        11.2.3  SPI外设的引脚
      11.3  SPI的HAL库用法
        11.3.1  阻塞式数据传输函数
        11.3.2  中断式数据传输函数
      11.4  W25Qxx原理
        11.4.1  一般原理
        11.4.2  数据读写方法
      11.5  小结
      11.6  习题
      11.7  实验:SPI读写W25Q
        11.7.1  实验目标
        11.7.2  实验方法
        11.7.3  实验过程
        11.7.4  实验现象
    第12章  直接存储器访问
      12.1  DMA一般原理
        12.1.1  DMA思想
        12.1.2  DMA内部结构
      12.2  STM32F10x中的DMA控制器
        12.2.1  DMA整体框图和DMA控制器外设框图
        12.2.2  DMA的通道与映像
        12.2.3  一次DMA传输流程
      12.3  DMA的HAL库用法
        12.3.1  初始化配置
        12.3.2  启动DMA传输
        12.3.3  DMA传输相关的中断
      12.4  小结
      12.5  习题
      12.6  实验:串口接收数据的DMA实现
        12.6.1  实验目标
        12.6.2  实验方法
        12.6.3  实验过程
        12.6.4  实验现象
    第13章  模-数转换器
      13.1  ADC基本原理
        13.1.1  模拟信号与数字信号
        13.1.2  常见的ADC
      13.2  STM32F103的ADC模块
        13.2.1  ADC电源与时钟
        13.2.2  ADC的通道和转换顺序
        13.2.3  转换模式
        13.2.4  采样时间与外部触发配置
        13.2.5  数据对齐
        13.2.6  模拟看门狗
        13.2.7  转换结果电压计算

      13.3  ADC的HAL库用法
        13.3.1  规则通道
        13.3.2  注入通道
      13.4  小结
      13.5  习题
      13.6  实验:光敏电阻和可调电阻的ADC实验
        13.6.1  实验目标
        13.6.2  实验方法
        13.6.3  实验过程
        13.6.4  实验现象
    第14章  数-模转换器
      14.1  DAC基本原理
        14.1.1  转换原理
        14.1.2  常用的参数
      14.2  STM32F103的DAC模块
        14.2.1  结构框图
        14.2.2  功能描述
      14.3  DAC的HAL库用法
        14.3.1  常用函数介绍
        14.3.2  使用方法
      14.4  小结
      14.5  习题
      14.6  实验:DAC通道1输出正弦波形
        14.6.1  实验目标
        14.6.2  实验方法
        14.6.3  实验过程
        14.6.4  实验现象
    第15章  综合案例
      15.1  需求分析
        15.1.1  功能需求
        15.1.2  硬件需求
        15.1.3  软件需求
        15.1.4  性能需求
      15.2  硬件准备
        15.2.1  舵机工作原理
        15.2.2  旋转编码器工作原理
      15.3  软件设计与实现
        15.3.1  系统模块划分
        15.3.2  软件实现
        15.3.3  系统测试
        15.3.4  系统优化
      15.4  小结
    参考文献