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

    • STM32嵌入式微控制器快速上手(第3版嵌入式系统中国电子教育学会全国电子信息类优秀教材)/卓越工程师培养计划
      • 作者:编者:陈志旺|责编:张剑
      • 出版社:电子工业
      • ISBN:9787121476099
      • 出版日期:2024/04/01
      • 页数:419
    • 售价:39.6
  • 内容大纲

        本书介绍了意法半导体(STMicroelectronics,ST)公司的32位基于ARM CM3内核的STM32单片机原理与实践。本书以培养学生的动手能力和增强学生的工程素养为目的,按照项目驱动的思路展开教学与实践学习,以Nucleo开发板上的程序为实例,将STM32单片机的外围引脚特性、内部结构与原理、片上外设资源、开发设计方法和应用软件编程、FreeRTOS操作系统原理及应用等知识呈现给读者。
        本书适合从事自动控制、智能仪表、电力电子、机电一体化等系统开发的工程技术人员阅读,也可作为高等学校相关专业的“嵌入式系统原理与应用”和“基于ARM Cortex内核的单片机系统开发”等课程的教学用书,还可作为ARM相关应用与培训课程的参考用书。
  • 作者介绍

  • 目录

    第1章  嵌入式系统概述
      1.1  计算思维
      1.2  嵌入式系统简介
        1.2.1  嵌入式系统的定义
        1.2.2  嵌入式系统的特点
        1.2.3  嵌入式系统的分类
        1.2.4  嵌入式系统的发展
      1.3  ARM体系结构及微处理器系列
        1.3.1  ARM公司简介
        1.3.2  ARM体系结构简介
      1.4  STM32系列微控制器简介
        1.4.1  STM32芯片
        1.4.2  ST的生态系统
    第2章  CM3体系结构
      2.1  CM3内核结构
      2.2  CM3处理器的工作模式及状态
      2.3  CM3寄存器
      2.4  总线接口
      2.5  存储器的组织与映射
        2.5.1  存储器的格式
        2.5.2  存储器的层次结构
        2.5.3  CM3存储器
        2.5.4  STM32存储器
        2.5.5  位绑定操作
      2.6  指令集
        2.6.1  ARM指令集
        2.6.2  Thumb指令集
        2.6.3  Thumb-2指令集
      2.7  流水线
      2.8  异常和中断
      2.9  存储器保护单元
      2.10  STM32微控制器概述
      2.11  Nucleo-F103RB开发板
    第3章  STM32最小系统
      3.1  电源电路
        3.1.1  供电方案
        3.1.2  电源管理器
        3.1.3  低功耗模式
      3.2  时钟电路
        3.2.1  HSE和HSI
        3.2.2  PLL
        3.2.3  LSE和LSI
        3.2.4  系统时钟SYSCLK
        3.2.5  解析SystemClock_Config()函数
        3.2.6  RCC寄存器
        3.2.7  STM32时钟常见问题
      3.3  复位电路
      3.4  STM32启动
      3.5  程序下载电路
      3.6  STM32最小系统

    第4章  STM32程序设计
      4.1  嵌入式软件层次结构
      4.2  Cortex微控制器软件接口标准
      4.3  HAL库
        4.3.1  HAL库简介
        4.3.2  STM32CubeF1软件包主要文件夹
        4.3.3  STM32CubeF1软件包主要文件简介
        4.3.4  HAL库函数
      4.4  编译过程及MDK
        4.4.1  编译过程
        4.4.2  程序的组成、存储与运行
        4.4.3  CM3指令集案例
    第5章  GPIO的原理及应用
      5.1  计算机接口概述
      5.2  GPIO的硬件结构和功能
        5.2.1  GPIO的硬件结构
        5.2.2  复用功能
        5.2.3  GPIO输入功能
        5.2.4  GPIO输出功能
        5.2.5  GPIO速度选择
        5.2.6  钳位功能
      5.3  GPIO寄存器映射
        5.3.1  GPIO寄存器
        5.3.2  用C语言对寄存器进行封装
      5.4  GPIO的HAL库函数
      5.5  HAL库函数与寄存器的关系
        5.5.1  解析HAL_Init()函数
        5.5.2  解析MX_GPIO_Init()函数
        5.5.3  解析HAL_GPIO_Init()函数
        5.5.4  解析__HAL_RCC_GPIOA_CLK_ENABLE()函数
      5.6  GPIO应用实例
        5.6.1  STM32CubeMX配置步骤
        5.6.2  新建例程1:直接数字地址
        5.6.3  新建例程2:ODR寄存器法
        5.6.4  新建例程3:Bit-band控制法
        5.6.5  新建例程4:位设置/清除寄存器法
        5.6.6  新建例程5:TogglePin库函数法
    第6章  EXTI的原理及应用
      6.1  中断和子程序
      6.2  STM32中断通道
      6.3  STM32中断的过程
      6.4  NVIC硬件结构及软件配置
        6.4.1  NVIC硬件结构
        6.4.2  STM32中断优先级
        6.4.3  中断向量表
        6.4.4  NVIC寄存器和系统控制寄存器
        6.4.5  NVIC库结构
      6.5  EXTI硬件结构及软件配置
        6.5.1  EXTI硬件结构
        6.5.2  中断及事件

        6.5.3  EXTI中断通道和中断源
        6.5.4  EXTI寄存器
        6.5.5  EXTI库函数
      6.6  EXTI应用实例
        6.6.1  按键中断
        6.6.2  中断嵌套实例
    第7章  USART的原理及应用
      7.1  接口重映射
      7.2  USART接口的功能和结构
        7.2.1  USART接口的功能
        7.2.2  USART接口的结构
      7.3  USART帧格式
      7.4  波特率设置
      7.5  硬件流控制
      7.6  USART中断请求
      7.7  USART寄存器
      7.8  USART初始化HAL库函数
      7.9  STM32串口新功能
      7.10  USART应用实例
        7.10.1  直接传送方式
        7.10.2  中断传送方式
        7.10.3  串口Echo回应程序
        7.10.4  利用printf()的串口编程
    第8章  定时器的原理及应用
      8.1  STM32定时器概述
      8.2  STM32定时器功能模块
      8.3  通用定时器TIMx的功能
      8.4  通用定时器TIMx的结构
        8.4.1  时钟源选择
        8.4.2  时基单元
        8.4.3  捕获和比较通道
        8.4.4  计数器模式
        8.4.5  定时时间的计算
        8.4.6  定时器中断
      8.5  通用定时器TIMx的寄存器
      8.6  TIMx初始化HAL库函数
      8.7  TIM2应用实例
        8.7.1  秒表
        8.7.2  输出比较实例
        8.7.3  输出比较实例
        8.7.4  PWM输出
        8.7.5  PWM输入捕获
      8.8  系统时钟SysTick简介
      8.9  SysTick寄存器
        8.9.1  SYSTICKCSR
        8.9.2  SYSTICKRVR
        8.9.3  SYSTICKCVR
        8.9.4  SYSTICKCALVR
      8.10  SysTick库函数源代码
      8.11  SysTick应用实例

    第9章  DMA的原理及应用
      9.1  DMA简介
      9.2  DMA的功能及结构
        9.2.1  DMA的功能
        9.2.2  DMA的结构
      9.3  DMA相关寄存器
      9.4  DMA初始化HAL库函数
      9.5  DMA应用实例
    第10章  ADC的原理及应用
      10.1  ADC的功能和结构
        10.1.1  ADC的基本概念
        10.1.2  ADC的功能
        10.1.3  ADC的结构
      10.2  ADC的工作模式
      10.3  数据对齐
      10.4  ADC中断
      10.5  ADC相关寄存器
      10.6  ADC初始化HAL库函数
      10.7  ADC应用实例
    第11章  实时操作系统基础
      11.1  操作系统
        11.1.1  操作系统的层次
        11.1.2  操作系统的功能
        11.1.3  操作系统的服务
      11.2  进程和线程
        11.2.1  任务
        11.2.2  进程
        11.2.3  线程
      11.3  实时操作系统
        11.3.1  可剥夺型操作系统和不可剥夺型操作系统
        11.3.2  实时操作系统的定义
        11.3.3  实时操作系统的特点
        11.3.4  实时操作系统的几个评价指标
        11.3.5  通用操作系统与实时操作系统的比较
      11.4  嵌入式开发软件框架
        11.4.1  前后台执行结构
        11.4.2  时间片轮询结构
        11.4.3  操作系统结构
    第12章  FreeRTOS任务应用实例
      12.1  CMSIS-RTOS中的FreeRTOS操作系统
      12.2  任务简介
        12.2.1  任务函数
        12.2.2  任务的状态
        12.2.3  任务控制块
        12.2.4  任务优先级
        12.2.5  时钟节拍
        12.2.6  空闲任务的任务函数
      12.3  任务管理
        12.3.1  创建任务
        12.3.2  删除任务

        12.3.3  任务挂起和恢复函数
      12.4  任务调度
        12.4.1  任务调度简介
        12.4.2  FreeRTOS调度算法分类
        12.4.3  FreeRTOS抢占式调度
        12.4.4  抢占式调度案例说明
      12.5  时间管理
        12.5.1  相对延时
        12.5.2  绝对延时
      12.6  互斥信号量
      12.7  利用队列的任务间通信
      12.8  任务调度实例
        12.8.1  程序功能
        12.8.2  Cube主要设置
        12.8.3  程序源代码分析
    第13章  LED和按键综合设计实例
      13.1  嵌入式系统产品开发简介
        13.1.1  产品设计流程
        13.1.2  优秀的产品设计及工程师的要求
        13.1.3  嵌入式系统设计流程
      13.2  LED驱动综合实例
        13.2.1  利用C语言实现面向对象程序设计
        13.2.2  LED多状态实例功能
        13.2.3  功能分析
        13.2.4  案例代码
        13.2.5  代码分析
      13.3  键盘驱动综合实例
        13.3.1  按键多状态实例功能
        13.3.2  实例代码
        13.3.3  代码分析
        13.3.4  代码改进
    附录A  嵌入式系统常用缩写和关于端口读/写的缩写表示
    附录B  CM3指令清单
    附录C  Nucleo -F103RB开发板原理图
    参考文献