本书从一个最简单的 STM32/GD32的程序出发,逐步过渡到时钟系统的作用和配置、如何精确延时、使定时器对各种信号进行捕获。为了解决HAL库函数涉及的大量的C语言知识,针对模块寄存器的特点介绍了如何使用结构体对这些寄存器进行封装,并以GPIO的设置函数为例,介绍了如何实现功能的封装,并最过渡到 HAL库中库函数的形成以及特点。全书共包含9个模块,其中:模块一介绍STM32/GD32 开发环境的使用,并顺带学习 GPIO 口的输出功能应用和 STM32/GD32系列单片机相关知识以及本书使用的硬件平台;模块二介绍STM32/GD32时钟系统的作用以及配置流程;模块三介绍系统滴答定时器的定时原理及延中的应用,同时对模块化编程的思想进行介绍;模块四介绍 STM32/GD32 的存储器,包括程序的存放地点以及STM32/GD32的存储器结构等,并通过GPIO口的设置函数的定义初步学习 STM32/GD32的功能集成;模块五介绍机械按键的识别,通过该模块的学习,可以知道GPIO口的输入的应用特点,并对目前市面上的各种矩阵键盘的按键状态的识别进行了介绍;模块六介绍使用ST公司的初始化工具 STM32CubeMX对 STM32/GD32功能模块的初始化,并介绍HAL库的GPIO模块控制的相关函数;模块七介绍STM32/GD32中断的使能、响应和执行过程;模块八介绍串口通信,包括轮询方式、中断方式收发数据;模块九学习定时器,在该模块中,对定时器的原理进行了详细的介绍,并通过定时器中断、PWM信号的产生、输入捕获等的学习来对定时器进行整体的把握,为定时器的各种应用奠定坚实基础。本书适合作为高职、应用型本科相关专业的教材。不过由于本书以技术介绍和应用为主,因此也可以作为本科相关专业的教材,以及作为相关技术人员的参考用书。