书籍详情
STM32程序设计案例教程

作者:欧启标
出版社:电子工业出版社
出版时间:2019-06-01
ISBN:9787121365614
定价:¥39.00
购买这本书可以去
内容简介
STM32是意法半导体(ST)有限公司推出的基于ARM Cortex-M内核的通用型嵌入式微控制器,具有设计灵活、配置丰富、成本低廉、适用性强、***高等特点,广泛应用于工业控制、通信、物联网、车联网等领域。本书系统介绍了STM32程序设计的基础知识和实战技巧。本书案例丰富、结构清晰、实用性强。本书可作为高职高专院校电类专业学生的教材使用,也可供相关工程技术人员作为参考用书。
作者简介
欧启标,广东机电职业技术学院教师,副教授,双师型教师。一直从事单片机和ARM相关专业建设方向的教学和科研工作。
目录
项目1 STM32的开发步骤及STM32的GPIO端口的输出功能\t(1)
任务1-1 控制一颗LED发光二极管闪烁\t(1)
1.1 初步认识STM32的GPIO端口的输出功能\t(10)
1.2 寄存器及其地址信息\t(15)
1.3 volatile修饰符的使用及寄存器定义\t(17)
习题1\t(18)
项目2 认识模块化编程\t(19)
任务2-1 控制一颗LED发光二极管闪烁\t(19)
2.1 模块化编程\t(24)
2.2 其他C语言注意事项\t(25)
2.2.1 用#define和typedef定义类型别名\t(25)
2.2.2 一些常见的运算符问题\t(25)
2.2.3 文件包含\t(26)
2.2.4 关于注释\t(27)
习题2\t(28)
项目3 认识STM32的存储器结构\t(29)
任务3-1 LED0闪烁控制\t(29)
3.1 存储器基础知识\t(30)
3.2 Cortex-M4内核和STM32的存储器结构\t(31)
3.2.1 Cortex-M4内核的存储器结构\t(31)
3.2.2 STM32的存储器结构\t(33)
3.2.3 位带(Bit Band)及位带别名区(Bit Band Alias)的关系\t(37)
3.3 结构体在STM32中的应用\t(40)
3.4 通用的I/O端口功能设置函数的设计 (42)
任务3-2 跑马灯的实现\t(44)
习题3\t(47)
项目4 精确延时的实现―SysTick 定时器的原理及其应用\t(48)
任务4-1 蜂鸣器发声控制\t(48)
4.1 SysTick定时器介绍\t(52)
4.2 嘀嗒定时器的延时应用\t(55)
习题4\t(57)
项目5 机械按键的识别――初步认识GPIO端口的输入功能\t(58)
任务5-1 识别机械按键的按下与弹起\t(58)
5.1 STM32的GPIO端口的数据输入功能\t(65)
5.1.1 GPIO端口位的数据输入通道\t(65)
5.1.2 GPIO端口位的输入配置及上/下拉电阻使能\t(66)
5.2 按键状态的判断\t(67)
习题5\t(68)
项目6 深入了解STM32F407的时钟系统\t(69)
6.1 STM32F4的时钟系统简介\t(69)
6.2 STM32F4的时钟系统\t(69)
6.3 STM32F4的系统时钟和各模块时钟\t(72)
6.3.1 系统时钟SYSCLK\t(72)
6.3.2 由SYSCLK模块提供时钟源的时钟\t(73)
6.3.3 RCC模块的相关寄存器及其作用\t(75)
习题6\t(77)
项目7 认识STM32的串口结构\t(78)
任务7-1 使用STM32的串口向PC端发送字符串\t(78)
7.1 串口基础知识\t(83)
7.2 STM32的串口结构\t(84)
7.3 引脚复用\t(90)
7.4 端口初始化函数的重新组织\t(93)
习题7\t(95)
项目8 STM32F407的中断管理\t(96)
任务8-1 使用STM32的外部中断\t(96)
8.1 内嵌中断向量控制器NVIC对中断的控制\t(102)
8.1.1 STM32的中断源\t(102)
8.1.2 STM32的中断使能控制\t(105)
8.1.3 STM32的中断优先级\t(106)
8.1.4 中断函数接口及中断函数的实现\t(112)
8.2 外部中断\t(113)
8.2.1 外部中断的中断源\t(113)
8.2.2 外部中断的设置\t(114)
习题8\t(116)
项目9 认识STM32的定时器\t(118)
任务9-1 使用定时器中断控制LED0的闪烁\t(118)
9.1 STM32的定时器概述\t(122)
9.2 TIM3内部结构及其计数原理\t(122)
9.2.1 TIM3的内部结构\t(122)
9.2.2 STM32定时器的定时原理\t(124)
9.3 定时器中断的实现\t(127)
9.4 应用定时器产生PWM调制信号\t(128)
9.4.1 TIM14的PWM调制原理\t(130)
9.4.2 TIM14产生PWM信号涉及的寄存器\t(132)
9.4.3 TIM14产生PWM信号的实现流程\t(133)
任务9-2 使用TIM14产生周期为500s、占空比为80%的脉冲信号\t(134)
习题9\t(136)
项目10 认识STM32的独立看门狗\t(137)
任务10-1 认识STM32的独立看门狗的工作原理\t(137)
10.1 看门狗电路概述\t(140)
10.2 STM32F407的看门狗电路\t(140)
10.3 独立看门狗相关的寄存器\t(141)
10.4 独立看门狗的设置、启动及工作流程\t(142)
习题10\t(143)
项目11 认识STM32F407的实时时钟\t(144)
任务11-1 认识STM32的RTC\t(144)
11.1 RTC实时时钟介绍\t(149)
11.2 STM32的RTC的工作原理\t(149)
11.3 STM32的RTC的操作步骤\t(153)
习题11\t(155)
项目12 STM32迷你开发板电路设计\t(156)
项目13 认识ARM处理器\t(161)
13.1 架构简介\t(161)
13.2 Cortex-M4的操作状态、工作模式和访问等级\t(161)
13.3 数据长度\t(162)
13.4 存储器大小端\t(162)
13.5 Cortex-M4的寄存器\t(163)
13.6 堆和栈的概念\t(166)
13.7 内存分配\t(167)
习题13\t(170)
项目14 汇编语言基础和 Cortex-M4指令集\t(172)
14.1 汇编语言基础\t(172)
14.2 Cortex-M4的指令集\t(174)
14.3 Cortex-M4的伪操作和伪指令\t(180)
14.3.1 伪操作\t(180)
14.3.2 伪指令\t(186)
习题14\t(187)
项目15 认识启动文件startup_stm32f40_41xxx.s\t(188)
习题15\t(191)
附录A STM32F407ZGT6的引脚结构与功能\t(192)
附录B STM32F407ZGT6核心电路设计\t(203)
附录C STM32F407ZGT6外围电路设计\t(204)
附录D 关于编译信息的解释\t(205)
参考文献\t(207)
任务1-1 控制一颗LED发光二极管闪烁\t(1)
1.1 初步认识STM32的GPIO端口的输出功能\t(10)
1.2 寄存器及其地址信息\t(15)
1.3 volatile修饰符的使用及寄存器定义\t(17)
习题1\t(18)
项目2 认识模块化编程\t(19)
任务2-1 控制一颗LED发光二极管闪烁\t(19)
2.1 模块化编程\t(24)
2.2 其他C语言注意事项\t(25)
2.2.1 用#define和typedef定义类型别名\t(25)
2.2.2 一些常见的运算符问题\t(25)
2.2.3 文件包含\t(26)
2.2.4 关于注释\t(27)
习题2\t(28)
项目3 认识STM32的存储器结构\t(29)
任务3-1 LED0闪烁控制\t(29)
3.1 存储器基础知识\t(30)
3.2 Cortex-M4内核和STM32的存储器结构\t(31)
3.2.1 Cortex-M4内核的存储器结构\t(31)
3.2.2 STM32的存储器结构\t(33)
3.2.3 位带(Bit Band)及位带别名区(Bit Band Alias)的关系\t(37)
3.3 结构体在STM32中的应用\t(40)
3.4 通用的I/O端口功能设置函数的设计 (42)
任务3-2 跑马灯的实现\t(44)
习题3\t(47)
项目4 精确延时的实现―SysTick 定时器的原理及其应用\t(48)
任务4-1 蜂鸣器发声控制\t(48)
4.1 SysTick定时器介绍\t(52)
4.2 嘀嗒定时器的延时应用\t(55)
习题4\t(57)
项目5 机械按键的识别――初步认识GPIO端口的输入功能\t(58)
任务5-1 识别机械按键的按下与弹起\t(58)
5.1 STM32的GPIO端口的数据输入功能\t(65)
5.1.1 GPIO端口位的数据输入通道\t(65)
5.1.2 GPIO端口位的输入配置及上/下拉电阻使能\t(66)
5.2 按键状态的判断\t(67)
习题5\t(68)
项目6 深入了解STM32F407的时钟系统\t(69)
6.1 STM32F4的时钟系统简介\t(69)
6.2 STM32F4的时钟系统\t(69)
6.3 STM32F4的系统时钟和各模块时钟\t(72)
6.3.1 系统时钟SYSCLK\t(72)
6.3.2 由SYSCLK模块提供时钟源的时钟\t(73)
6.3.3 RCC模块的相关寄存器及其作用\t(75)
习题6\t(77)
项目7 认识STM32的串口结构\t(78)
任务7-1 使用STM32的串口向PC端发送字符串\t(78)
7.1 串口基础知识\t(83)
7.2 STM32的串口结构\t(84)
7.3 引脚复用\t(90)
7.4 端口初始化函数的重新组织\t(93)
习题7\t(95)
项目8 STM32F407的中断管理\t(96)
任务8-1 使用STM32的外部中断\t(96)
8.1 内嵌中断向量控制器NVIC对中断的控制\t(102)
8.1.1 STM32的中断源\t(102)
8.1.2 STM32的中断使能控制\t(105)
8.1.3 STM32的中断优先级\t(106)
8.1.4 中断函数接口及中断函数的实现\t(112)
8.2 外部中断\t(113)
8.2.1 外部中断的中断源\t(113)
8.2.2 外部中断的设置\t(114)
习题8\t(116)
项目9 认识STM32的定时器\t(118)
任务9-1 使用定时器中断控制LED0的闪烁\t(118)
9.1 STM32的定时器概述\t(122)
9.2 TIM3内部结构及其计数原理\t(122)
9.2.1 TIM3的内部结构\t(122)
9.2.2 STM32定时器的定时原理\t(124)
9.3 定时器中断的实现\t(127)
9.4 应用定时器产生PWM调制信号\t(128)
9.4.1 TIM14的PWM调制原理\t(130)
9.4.2 TIM14产生PWM信号涉及的寄存器\t(132)
9.4.3 TIM14产生PWM信号的实现流程\t(133)
任务9-2 使用TIM14产生周期为500s、占空比为80%的脉冲信号\t(134)
习题9\t(136)
项目10 认识STM32的独立看门狗\t(137)
任务10-1 认识STM32的独立看门狗的工作原理\t(137)
10.1 看门狗电路概述\t(140)
10.2 STM32F407的看门狗电路\t(140)
10.3 独立看门狗相关的寄存器\t(141)
10.4 独立看门狗的设置、启动及工作流程\t(142)
习题10\t(143)
项目11 认识STM32F407的实时时钟\t(144)
任务11-1 认识STM32的RTC\t(144)
11.1 RTC实时时钟介绍\t(149)
11.2 STM32的RTC的工作原理\t(149)
11.3 STM32的RTC的操作步骤\t(153)
习题11\t(155)
项目12 STM32迷你开发板电路设计\t(156)
项目13 认识ARM处理器\t(161)
13.1 架构简介\t(161)
13.2 Cortex-M4的操作状态、工作模式和访问等级\t(161)
13.3 数据长度\t(162)
13.4 存储器大小端\t(162)
13.5 Cortex-M4的寄存器\t(163)
13.6 堆和栈的概念\t(166)
13.7 内存分配\t(167)
习题13\t(170)
项目14 汇编语言基础和 Cortex-M4指令集\t(172)
14.1 汇编语言基础\t(172)
14.2 Cortex-M4的指令集\t(174)
14.3 Cortex-M4的伪操作和伪指令\t(180)
14.3.1 伪操作\t(180)
14.3.2 伪指令\t(186)
习题14\t(187)
项目15 认识启动文件startup_stm32f40_41xxx.s\t(188)
习题15\t(191)
附录A STM32F407ZGT6的引脚结构与功能\t(192)
附录B STM32F407ZGT6核心电路设计\t(203)
附录C STM32F407ZGT6外围电路设计\t(204)
附录D 关于编译信息的解释\t(205)
参考文献\t(207)
猜您喜欢



