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

    • STM32单片机原理与应用(第2版HAL库版电子科学与技术高等学校电子信息类专业系列教材)
      • 作者:编者:向培素|责编:文怡//张振霞
      • 出版社:清华大学
      • ISBN:9787302709800
      • 出版日期:2026/02/01
      • 页数:189
    • 售价:19.6
  • 内容大纲

        本书基于STM32F103C8T6单片机讲解了STM32单片机的内部结构、最小系统、内置外设——GPIO、EXTI、USART、通用TIM、CAN、ADC、DMA的HAL库设计及使用方法。
        本书适合作为高等院校物联网、自动化、电子信息、计算机科学与技术、电子科学与技术、控制工程、通信工程、信息安全、智能科学与技术等相关专业“嵌入式控制”“单片机原理与应用”等课程的教材,也可供行业相关技术人员参考使用。
  • 作者介绍

  • 目录

    第1章  概述
      1.1  嵌入式系统概述
        1.1.1  嵌入式系统的定义
        1.1.2  嵌入式系统的应用
        1.1.3  嵌入式系统的组成
      1.2  STM32单片机概述
        1.2.1  STM32单片机产品系列
        1.2.2  STM32F103系列单片机的内部资源
        1.2.3  STM32单片机命名规则
      1.3  嵌入式单片机的开发流程
        1.3.1  常用的开发工具
        1.3.2  STM32CubeMX新建HAL库版工程
        1.3.3  MDK新建HAL库版工程
        1.3.4  单片机的开发流程
      1.4  单片机的学习方法
    第2章  STM32单片机的内部结构
      2.1  系统架构和存储器组织
        2.1.1  系统架构
        2.1.2  存储器组织
        2.1.3  位带操作
        2.1.4  启动设置
      2.2  时钟系统
        2.2.1  时钟
        2.2.2  时钟控制HAL库函数
      2.3  时钟系统配置
        2.3.1  STM32单片机复位启动过程
        2.3.2  main()函数中初始化代码
      2.4  系统定时器SysTick
        2.4.1  SysTick概述
        2.4.2  SysTick寄存器
        2.4.3  SysTick HAL库函数
        2.4.4  SysTick延时实例
    第3章  STM32单片机的最小系统
      3.1  STM32F103C8T6单片机
        3.1.1  STM32F103系列单片机概述
        3.1.2  STM32F103C8T6引脚定义
        3.1.3  STM32F103C8T6片内资源
      3.2  STM32单片机最小系统构成
        3.2.1  电源电路
        3.2.2  复位电路
        3.2.3  时钟电路
        3.2.4  启动模式设置电路
        3.2.5  编程接口电路
    第4章  通用输入/输出的原理与应用
      4.1  GPIO的内部结构及特性
        4.1.1  输出数据源
        4.1.2  推挽输出和开漏输出
        4.1.3  保护二极管
        4.1.4  上拉输入和下拉输入
        4.1.5  输入数据的去向

      4.2  GPIO常见参数配置
        4.2.1  GPIO的输出速度
        4.2.2  GPIO引脚的复用和重映射
      4.3  GPIO的常用HAL库函数
        4.3.1  函数HAL_GPIO_Init()
        4.3.2  函数HAL_GPIO_ReadPin()
        4.3.3  函数HAL_GPIO_WritePin()
        4.3.4  函数HAL_GPIO_TogglePin()
        4.3.5  函数HAL_GPIO_LockPin()
      4.4  GPIO的相关寄存器
        4.4.1  端口配置低寄存器
        4.4.2  端口输入数据寄存器
        4.4.3  端口输出数据寄存器
        4.4.4  端口位设置/清除寄存器
        4.4.5  端口位清除寄存器
      4.5  GPIO的应用实例
        4.5.1  引脚重映射功能的设置方法
        4.5.2  GPIO的初始化步骤
        4.5.3  GPIO位带操作设置方法
        4.5.4  GPIO应用实例
    第5章  外部中断的原理与应用
      5.1  中断概述
        5.1.1  中断的作用
        5.1.2  中断的常见术语
      5.2  NVIC中断管理
        5.2.1  抢占优先级和响应优先级
        5.2.2  中断优先级分组
        5.2.3  NVIC中断管理相关HAL函数
      5.3  EXTI外部中断
        5.3.1  中断请求信号的输入引脚
        5.3.2  EXTI线对应的中断函数
      5.4  EXTI的常用HAL库函数
        5.4.1  函数HAL_GPIO_EXTI_IRQHandler()
        5.4.2  函数HAL_GPIO_EXTI_Callback()
      5.5  EXTI的应用实例
        5.5.1  EXTI的初始化步骤
        5.5.2  EXTI应用实例
    第6章  USART的工作原理与应用
      6.1  串行通信基础
        6.1.1  并行通信与串行通信
        6.1.2  同步通信与异步通信
        6.1.3  单工与双工传输模式
        6.1.4  串行通信的错误校验
      6.2  USART的内部结构及特性
        6.2.1  相关引脚
        6.2.2  数据寄存器
        6.2.3  状态寄存器和控制寄存器
        6.2.4  波特率
      6.3  USART的常用HAL库函数
        6.3.1  函数HAL_USART_Init()

        6.3.2  函数HAL_USART_Transmit()
        6.3.3  函数HAL_UART_Init()
        6.3.4  函数HAL_UART_Receive_IT()
        6.3.5  函数HAL_UART_Transmit_IT()
        6.3.6  函数HAL_UART_IRQHandler()
      6.4  USART的常用宏
        6.4.1  宏__HAL_UART_ENABLE_IT()
        6.4.2  宏__HAL_UART_GET_FLAG()
        6.4.3  宏__HAL_UART_GET_IT_SOURCE()
        6.4.4  宏__HAL_UART_CLEAR_FLAG()
      6.5  USART的应用实例
        6.5.1  USART的初始化步骤及注意事项
        6.5.2  串口USART发送(轮询模式)
        6.5.3  串口USART接收(中断模式)
    第7章  通用定时器的原理与应用
      7.1  TIMx的内部结构及特性
        7.1.1  通用定时器的时钟
        7.1.2  时基单元
        7.1.3  计数初值的计算
        7.1.4  输入捕获模式
        7.1.5  PWM输出模式
        7.1.6  TIM1带死区互补输出模式
        7.1.7  TIMx的引脚设置
      7.2  TIMx的常用HAL库函数
        7.2.1  函数HAL_TIM_Base_Init()
        7.2.2  函数HAL_TIM_Base_MspInit()
        7.2.3  函数HAL_TIM_Base_Start()/HAL_TIM_Base_Stop()
        7.2.4  函数HAL_TIM_Base_Start_IT()/HAL_TIM_Base_Stop_IT()
        7.2.5  函数HAL_TIM_IRQHandler()
        7.2.6  函数HAL_TIM_PeriodElapsedCallback()
        7.2.7  函数HAL_TIM_IC_Init()
        7.2.8  函数HAL_TIM_IC_MspInit()
        7.2.9  函数HAL_TIM_IC_ConfigChannel()
        7.2.10  函数HAL_TIM_IC_Start_IT()/HAL_TIM_IC_Stop_IT()
        7.2.11  函数HAL_TIM_IC_CaptureCallback()
        7.2.12  函数HAL_TIM_PWM_Init()
        7.2.13  函数HAL_TIM_PWM_MspInit()
        7.2.14  函数HAL_TIM_PWM_ConfigChannel()
        7.2.15  函数HAL_TIM_PWM_Start()
        7.2.16  函数HAL_TIMEx_ConfigBreakDeadTime()
        7.2.17  函数HAL_TIMEx_PWMN_Start()
      7.3  TIMx的常用宏
        7.3.1  宏__HAL_TIM_ENABLE_IT()
        7.3.2  宏__HAL_TIM_SET_CAPTUREPOLARITY()
        7.3.3  宏__HAL_TIM_GET_COMPARE()
        7.3.4  宏__HAL_TIM_SET_COUNTER()
        7.3.5  宏__HAL_TIM_SET_COMPARE()
        7.3.6  宏__HAL_TIM_ENABLE_OCxPRELOAD()
      7.4  TIMx的应用实例
        7.4.1  通用定时功能

        7.4.2  输入捕获功能
        7.4.3  PWM输出功能
        7.4.4  TIM1带死区互补输出功能
    第8章  CAN总线接口的原理与应用
      8.1  CAN总线概述
        8.1.1  CAN总线的连接构成
        8.1.2  CAN总线协议
      8.2  STM32的bxCAN总线接口内部结构及特性
        8.2.1  CAN的引脚
        8.2.2  bxCAN的结构及通信过程
        8.2.3  bxCAN的主要工作模式
        8.2.4  STM32 bxCAN的位时序和波特率
        8.2.5  报文ID过滤
      8.3  CAN总线的常用HAL库函数
        8.3.1  函数HAL_CAN_Init()
        8.3.2  函数HAL_CAN_ConfigFilter()
        8.3.3  函数HAL_CAN_ActivateNotification()
        8.3.4  函数HAL_CAN_Start()
        8.3.5  函数HAL_CAN_AddTxMessage()
        8.3.6  函数HAL_CAN_GetRxMessage()
        8.3.7  函数HAL_CAN_RxFifo0FullCallback()
        8.3.8  函数HAL_CAN_RxFifo0MsgPendingCallback()
      8.4  CAN总线接口的应用实例
        8.4.1  CAN总线接口的初始化步骤
        8.4.2  CAN总线接口环回模式通信
    第9章  ADC的原理与应用
      9.1  ADC的内部结构及特性
        9.1.1  参考电压
        9.1.2  输入通道
        9.1.3  转换时间
        9.1.4  ADC的启动
        9.1.5  ADC产生的中断
        9.1.6  ADC转换值的计算
        9.1.7  ADC的转换模式
        9.1.8  DMA请求
      9.2  ADC的常用HAL库函数
        9.2.1  函数HAL_ADC_Init()
        9.2.2  函数HAL_ADC_ConfigChannel()
        9.2.3  函数HAL_ADCEx_Calibration_Start()
        9.2.4  函数HAL_ADC_Start()
        9.2.5  函数HAL_ADC_Start_DMA()
        9.2.6  函数HAL_ADC_GetValue()
        9.2.7  函数ADC_ExternalTrigConvConfig()
        9.2.8  函数ADC_DiscModeChannelCountConfig()
        9.2.9  函数ADC_DiscModeCmd()
      9.3  ADC的应用实例
        9.3.1  ADC的初始化编程步骤
        9.3.2  ADC单通道连续转换
    第10章  DMA的原理与应用
      10.1  DMA的内部结构及特性

        10.1.1  DMA请求
        10.1.2  DMA通道和仲裁
        10.1.3  DMA传输的参数
      10.2  DMA的常用HAL库函数
        10.2.1  函数HAL_DMA_Init()
        10.2.2  函数HAL_DMA_PollForTransfer()
        10.2.3  常用外设触发DMA函数
      10.3  DMA的常用宏
      10.4  DMA的应用实例
        10.4.1  DMA的初始化编程步骤
        10.4.2  ADC扫描模式的DMA传输
        10.4.3  TIM3_TRGO触发ADC扫描模式的DMA传输
    参考文献