欢迎光临
免费的PDF电子书下载网站

STM32F0实战:基于HAL库开发 PDF下载

编辑推荐

暂无

内容简介

作为STM32单片[1机1]的入门者,往往在从寄存器开发还是从固[亻牛]库开发上纠结不定,本书将从市场上非常[0畅0]销的F0系列微控制器入手,利用意[0法0]公司[亲斤]近推出的一款全[亲斤]的开发软[亻牛]—STM32CubeMX做为项目建立和代码初始化工具,快速生成F0系列的开发环境,并在MDK-ARM软[亻牛]上对代码进行进一步的编辑修改,直至生成[z1u1i]终的开发项目。

本书将使用STM32CubeMX软[亻牛]自带的HAL固[亻牛]库来开发,书内附HAL库详解,HAL库不同与以往的标准外设库,是意[0法0]公司[z1u1i][亲斤]推出的替代标准外设库的产[0品0]。

作者简介

暂无

STM32F0实战:基于HAL库开发 PDF下载

目录


前言
[0第0]一篇 系统架构
[0第0]1章 “芯”系ARM 2
1.1 强劲的ARM芯 2
1.1.1 [z1u1i]成功的科技公司 2
1.1.2 ARMv6-M架构 3
1.1.3 Cortex-M0处理器简介 3
1.1.4 Cortex-M0处理器的特点 5
1.1.5 RISC架构 6
1.1.6AMBA总线 6
1.1.7微控制器软[亻牛]接口标准(CMSIS) 7
1.2 STM32系列微控制器 9
1.2.1 STM32微控制器家族 9
1.2.2 STM32的命[0名0]规则 9
1.2.3STM32F0系列微控制器功能概述 13
[0第0]2章 开发环境 17
2.1 软[亻牛]开发工具 17
2.1.1MDK-ARM集成开发环境 18
2.1.2 安装MDK-ARM软[亻牛] 21
2.1.3 STM32CubeMX软[亻牛] 27
2.1.4安装STM32CubeMX软[亻牛] 34
2.2 硬[亻牛]开发工具 46
2.2.1 仿真/编程器 47
2.2.2 STM32系统板 51
2.3 项目建立 52
2.3.1 [亲斤]建开发项目 52
2.3.2 查看项目文[亻牛] 62
2.3.3 打开项目 64
2.3.4 查看项目属性 69
2.3.5 编译项目 73
[0第0]3章 GPIO 76
3.1 GPIO概述 76
3.1.1 GPIO的功能 76
3.1.2 GPIO的位结构 78
3.1.3 GPIO的特殊功能 80
3.1.4 GPIO的寄存器分类 82
3.2 GPIO函数 82
3.2.1 GPIO类型定义 82
3.2.2 GPIO常量定义 83
3.2.3 GPIO函数定义 84
3.3 GPIO应用实例 86
3.3.1 生成开发项目 86
3.3.2 [1主1]程序文[亻牛]结构解析 90
3.3.3 外设初始化过程分析 94
[0第0]4章 HAL库 98
4.1 HAL库结构 98
4.1.1 HAL库的特点 98
4.1.2 HAL库的构成 99
4.1.3 HAL库用户应用程序 99
4.2 HAL库文[亻牛] 101
4.2.1 HAL库头文[亻牛] 101
4.2.2 HAL库源文[亻牛] 104
[0第0]5章 系统配置 107
5.1 系统架构 107
5.1.1 总线结构 107
5.1.2 存储器的组织 108
5.1.3 启动配置 108
5.2 Flash存储器 110
5.2.1 Flash的读操作 110
5.2.2 Flash的写和擦除操作 111
5.2.3 Flash读保护 113
5.2.4 Flash写保护 114
5.2.5 Flash中断 114
5.2.6 CRC计算单元 114
5.3 选项字节 115
5.3.1 选项字节的格式 115
5.3.2 选项字节编程 118
5.4 Flash函数 119
5.4.1 Flash类型定义 119
5.4.2 Flash常量定义 120
5.4.3 Flash函数定义 121
5.5 CRC函数 128
5.5.1 CRC类型定义 128
5.5.2 CRC常量定义 129
5.5.3 CRC函数定义 131
[0第0]6章 时钟 135
6.1 概述 135
6.1.1 时钟树的结构 135
6.1.2 时钟源 137
6.1.3 时钟安全 140
6.1.4 时钟应用 140
6.1.5 低功耗模式下的时钟 141
6.1.6 复位 141
6.2 RCC函数 143
6.2.1 RCC类型定义 143
6.2.2 RCC常量定义 145
6.2.3 RCC函数定义 152
6.3 时钟控制实例 159
[0第0]7章 电源控制 162
7.1 供电管理 162
7.1.1 供电引脚 162
7.1.2 上电复位和掉电复位 165
7.1.3 可编程电压检测器 166
7.2 低功耗模式 166
7.2.1 低功耗模式的分类 166
7.2.2 睡眠模式 167
7.2.3 停[1机1]模式 168
7.2.4 待[1机1]模式 169
7.2.5 自动唤醒 170
7.3 电源控制函数 170
7.3.1 电源控制类型定义 170
7.3.2 电源控制常量定义 171
7.3.3 电源控制函数定义 172
7.4 低功耗模式应用实例 178
7.4.1 从停[1机1]模式唤醒 178
7.4.2 从待[1机1]模式唤醒 180
[0第0]8章 DMA控制器 183
8.1 DMA概述 183
8.1.1 DMA控制器内部结构 183
8.1.2 DMA的处理过程 183
8.1.3 DMA中断 186
8.1.4 DMA请求映射 186
8.2 DMA函数 189
8.2.1 DMA类型定义 189
8.2.2 DMA常量定义 190
8.2.3 DMA函数定义 191
8.3 DMA应用实例 194
[0第0]9章 异常 198
9.1 Cortex-M0的异常处理 198
9.1.1 异常的特点 198
9.1.2 嵌套向量中断控制器 201
9.1.3 中断的使能 201
9.1.4中断请求的挂起和清除 202
9.1.5 中断[0优0]先级控制 204
9.1.6 SysTick定时器 204
9.2扩展中断和事[亻牛]控制器(EXTI) 207
9.2.1 事[亻牛]线概述 207
9.2.2 事[亻牛]线的控制逻辑 208
9.2.3 事[亻牛]线的配置方[0法0] 210
9.2.4 EXTI唤醒 210
9.2.5 中断服务程序(ISR) 210
9.3 异常相关函数 212
9.3.1 异常类型定义 212
9.3.2 异常常量定义 213
9.3.3 异常函数定义 213
9.4 EXTI应用实例 219
[0第0]二篇 外设模块
[0第0]10章 模拟-数字转换器 224
10.1 ADC模块概述 224
10.1.1 ADC的内部结构 224
10.1.2 ADC校准 225
10.1.3 ADC的启动和关闭 226
10.1.4 ADC时钟 228
10.2 ADC功能配置 229
10.2.1 ADC的基础配置 229
10.2.2 ADC的转换模式 230
10.2.3 A/D转换的启动和停止 231
10.2.4 A/D转换时序 232
10.2.5 ADC过冲 233
10.2.6 管理转换数据 235
10.2.7 ADC的低功耗特性 235
10.2.8 模拟看门[dog] 237
10.2.9 ADC的内部通道转换 238
10.2.10 ADC中断 240
10.3 ADC函数 241
10.3.1 ADC类型定义 241
10.3.2 ADC常量定义 242
10.3.3 ADC函数定义 246
10.4 ADC的应用实例 253
10.4.1 数字显示电压值 254
10.4.2 读取温度传感器 256
[0第0]11章 数字-模拟转换器 259
11.1 DAC模块概述 259
11.1.1 DAC的内部结构 259
11.1.2 DAC数据格式 260
11.1.3 DAC通道转换 261
11.1.4 DAC触发选择 262
11.1.5 DAC的DMA请求 262
11.2 DAC波形生成 263
11.2.1 噪声波生成 263
11.2.2 三角波生成 264
11.2.3 DAC[0双0]通道转换 264
11.3 DAC函数 266
11.3.1 DAC类型定义 266
11.3.2 DAC常量定义 266
11.3.3 DAC函数定义 267
11.4 DAC应用实例 277
[0第0]12章 模拟比较器 281
12.1 模拟比较器概述 281
12.1.1 模拟比较器的功能 281
12.1.2模拟比较器的内部结构 281
12.2 模拟比较器的函数 282
12.2.1 模拟比较器类型定义 282
12.2.2 模拟比较器常量定义 283
12.2.3 模拟比较器函数定义 285
12.3 模拟比较器应用实例 288
[0第0]13章 实时时钟 291
13.1 RTC概述 291
13.1.1 RTC[1主1]要特性 291
13.1.2 时钟和日历 294
13.1.3 可编程报警 294
13.2 RTC操作 295
13.2.1 RTC初始化 295
13.2.2 读取日历寄存器 296
13.2.3 RTC同步 297
13.2.4 RTC参考时钟检测 298
13.2.5 RTC平滑数字校准 298
13.2.6 时间戳 299
13.2.7 侵入检测 299
13.2.8 时钟输出 300
13.2.9 RTC低功耗模式 301
13.2.10 RTC中断 301
13.3 RTC函数 302
13.3.1 RTC类型定义 302
13.3.2 RTC常量定义 305
13.3.3 RTC函数定义 310
13.4 RTC应用实例 326
[0第0]14章 定时器 329
14.1 定时器概述 329
14.1.1 定时器配置 329
14.1.2 TIM1的功能 330
14.1.3 计数时钟 336
14.2 捕捉/比较通道 338
14.2.1 捕捉/比较通道结构 338
14.2.2 输入捕捉模式 340
14.2.3 PWM输入模式 341
14.2.4 强制输出模式 342
14.2.5 输出比较模式 342
14.2.6 PWM模式 343
14.2.7 互补输出和死区控制 345
14.2.8 刹车及清除参考信号 347
14.2.9 单脉冲模式 350
14.2.10 外部触发同步 352
14.3 定时器函数 355
14.3.1 定时器类型定义 355
14.3.2 定时器常量定义 359
14.3.3 定时器函数定义 366
14.4 TIM1应用实例 417
14.4.1 测量信号周期 418
14.4.2 生成PWM信号 420
14.4.3 体验PWM输入模式 422
[0第0]15章 看门[dog] 425
15.1 [0独0]立看门[dog] 425
15.1.1 IWDG的功能 425
15.1.2 特殊状态下的IWDG 427
15.2 窗口看门[dog] 427
15.2.1WWDG的内部结构和时间窗口 427
15.2.2 WWDG的高级功能 428
15.3 看门[dog]函数 429
15.3.1 看门[dog]类型定义 429
15.3.2 看门[dog]常量定义 430
15.3.3 看门[dog]函数定义 430
15.4 IWDG应用实例 433
[0第0]16章 I2C总线接口 436
16.1 I2C模块概述 436
16.1.1 I2C模块的功能 436
16.1.2 I2C工作模式 437
16.1.3 I2C的初始化 439
16.1.4 数据传输 442
16.2 I2C从[1机1]模式 444
16.2.1 I2C从[1机1]初始化 444
16.2.2 从[1机1]时钟延长 444
16.2.3 从[1机1]发送 445
16.2.4 从[1机1]接收 448
16.3 I2C[1主1]模式 449
16.3.1 [1主1][1机1]接收 450
16.3.2 [1主1][1机1]发送 452
16.4 SMBus 454
16.4.1 SMBus的特点 454
16.4.2 SMBus的功能 455
16.4.3 SMBus初始化 457
16.4.4 SMBus从[1机1]模式 458
16.5 I2C模块的控制功能 462
16.5.1 I2C低功耗模式 462
16.5.2 错误条[亻牛] 462
16.5.3 DMA请求 463
16.5.4 I2C中断 464
16.6 I2C函数 465
16.6.1 I2C类型定义 465
16.6.2 I2C常量定义 468
16.6.3 I2C函数定义 472
16.7 I2C应用实例 510
[0第0]17章 SPI总线接口 513
17.1 SPI概述 513
17.1.1 SPI模块的特点 513
17.1.2 SPI的工作方式 514
17.1.3 SPI的[1主1]从选择 516
17.1.4 SPI的帧格式 518
17.2 SPI通信 519
17.2.1 SPI的通信流程 519
17.2.2 SPI的状态标志 523
17.2.3 SPI的错误标志 523
17.2.4 NSS脉冲模式 524
17.2.5SPI的CRC计算 525
17.2.6 SPI中断 525
17.3 SPI函数 526
17.3.1 SPI类型定义 526
17.3.2 SPI常量定义 528
17.3.3 SPI函数定义 532
17.4 SPI的应用实例 554
[0第0]18章 通用同步异步收发器 557
18.1 USART概述 557
18.1.1 USART的结构 557
18.1.2 USART的帧格式 559
18.1.3 USART发送器 559
18.1.4 USART接收器 563
18.1.5 波特率 564
18.2 USART通信 566
18.2.1 多[1机1]通信 566
18.2.2 校验控制 567
18.2.3 USART同步模式 568
18.2.4利用DMA实现连续通信 568
18.2.5 USART的控制功能 571
18.2.6 USART的中断 573
18.3 USART函数 575
18.3.1 UART类型定义 575
18.3.2 UART常量定义 581
18.3.3 USART函数定义 590
18.4 USART应用实例 623
[0第0]19章 触摸传感控制器 626
19.1 TSC概述 626
19.1.1 TSC的内部结构 626
19.1.2表[mian]电荷迁移检测原理 628
19.1.3表[mian]电荷迁移采集顺序 628
19.1.4扩展频谱和[z1u1i][0大0]计数错误 630
19.1.5 TSC的I/O模式 630
19.1.6 TSC采集过程 631
19.1.7TSC的低功耗模式和中断 632
19.2 TSC函数 632
19.2.1 TSC类型定义 632
19.2.2 TSC常量定义 633
19.2.3 TSC函数定义 636
19.3 TSC应用实例 641
[0第0]20章 控制器局域网 644
20.1 CAN总线 644
20.1.1 显性与隐性 644
20.1.2 报文 645
20.2 bxCAN模块 648
20.2.1 bxCAN的结构 648
20.2.2 bxCAN的工作模式 650
20.2.3 bxCAN的测试模式 651
20.3 bxCAN通信 652
20.3.1 发送管理 652
20.3.2 接收管理 653
20.3.3 标识符过滤 655
20.3.4 报文存储 659
20.3.5 位时间 659
20.3.6 bxCAN中断 660
20.4 bxCAN函数 662
20.4.1 bxCAN类型定义 662
20.4.2 bxCAN常量定义 664
20.4.3 bxCAN函数定义 666
20.5 bxCAN应用实例 671
[0第0]21章 通用串行总线 674
21.1 USB概述 674
21.1.1 USB总线结构 674
21.1.2 USB端点 675
21.1.3 USB通信管道 676
21.1.4 包的字段格式 676
21.1.5 USB的包类型 677
21.1.6 USB的事务处理 679
21.1.7 USB数据传输的类型 680
21.1.8 USB设备描述符 681
21.1.9 标准设备请求 683
21.1.10 USB的设备状态 687
21.1.11 USB总线的枚举过程 687
21.2 USB模块 689
21.2.1 USB模块的结构 689
21.2.2 USB模块数据传输 691
21.3 USB总线编程 691
21.3.1 USB复位操作 692
21.3.2 分组缓冲区 692
21.3.3 端点初始化 693
21.3.4 IN分组 693
21.3.5 OUT和SETUP分组 694
21.3.6 控制传输 695
21.3.7 [0双0]缓冲端点 696
21.3.8 同步传输 697
21.3.9 挂起/恢复事[亻牛] 698
21.4 USB函数 699
21.4.1 USB类型定义 699
21.4.2 USB常量定义 701
21.4.3 USB函数定义 701
21.5 USB编程实例 711
附录 719
附录ASTM32F072VBT6系统板电路原理图 720
附录BSTM32F072VBT6全功能开发板 721
附录CSTM32F0核心板、显示模块及编程器 722
附录DSTM32F072VBT6微控制器引脚定义 723
附录ESTM32F072VBT6微控制器引脚功能 724
附录FSTM32F072VBT6微控制器端口复用功能映射表 731
附录GSTM32F072VBT6微控制器存储器映像和外设寄存器编址 735
附录H寄存器特性缩写列表 738
附录I术语和缩写对照表 739
附录J本书源代码清单及下载链接 741

STM32F0实战:基于HAL库开发 pdf下载声明

本pdf资料下载仅供个人学习和研究使用,不能用于商业用途,请在下载后24小时内删除。如果喜欢,请购买正版

pdf下载地址

版权归出版社和作者所有,下载链接已删除。如果喜欢,请购买正版!

链接地址:STM32F0实战:基于HAL库开发