图书介绍

STM32库开发实战指南 基于STM32F4pdf电子书版本下载

STM32库开发实战指南  基于STM32F4
  • 刘火良,杨森编著 著
  • 出版社: 北京:机械工业出版社
  • ISBN:9787111557456
  • 出版时间:2017
  • 标注页数:908页
  • 文件大小:329MB
  • 文件页数:925页
  • 主题词:微控制器-系统开发-指南

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快] 温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页 直链下载[便捷但速度慢]   [在线试读本书]   [在线获取解压码]

下载说明

STM32库开发实战指南 基于STM32F4PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 如何安装KEIL5 1

1.1温馨提示 1

1.2获取KEIL5安装包 1

1.3开始安装KEIL5 1

1.4安装STM32芯片包 3

第2章 如何用DAP仿真器下载程序 6

2.1仿真器简介 6

2.2硬件连接 6

2.3仿真器配置 6

2.4选择目标板 9

2.5下载程序 9

第3章 初识STM32 10

3.1什么是STM32 10

3.2 STM32能做什么 10

3.2.1智能手环 11

3.2.2微型四轴飞行器 12

3.2.3淘宝众筹 12

3.3 STM32选型 13

3.3.1 STM32分类 13

3.3.2 STM32命名方法 14

3.3.3选择合适的MCU 14

第4章 寄存器 17

4.1寄存器简介 17

4.2 STM32的外观 17

4.3芯片里面有什么 18

4.4存储器映射 21

4.5寄存器映射 23

4.5.1 STM32的外设地址映射 23

4.5.2 C语言对寄存器的封装 26

第5章 新建工程——寄存器版 31

5.1新建本地工程文件夹工程 31

5.1.1新建本地工程文件夹 31

5.1.2新建工程 32

5.2下载程序 38

第6章 使用寄存器点亮LED 39

6.1 GPIO简介 39

6.2 GPIO框图剖析 39

6.2.1基本结构分析 39

6.2.2 GPIO工作模式 42

6.3实验:使用寄存器点亮LED 43

6.3.1硬件连接 44

6.3.2启动文件 44

6.3.3 stm32f4xx.h文件 46

6.3.4 main文件 47

6.3.5下载验证 51

第7章 自己写库——构建库函数雏形 52

7.1 STM32函数库简介 52

7.2采用库来开发及学习的原因 53

7.3实验:构建库函数雏形 53

7.3.1修改寄存器地址封装 54

7.3.2定义访问外设的结构体指针 55

7.3.3定义初始化结构体 59

7.3.4定义引脚模式的枚举类型 60

7.3.5定义GPIO初始化函数 62

7.3.6使用函数点亮LED 64

7.3.7下载验证 66

7.3.8总结 66

第8章 初识STM32标准库 67

8.1 CMSIS标准及库层次关系 67

8.1.1库目录、文件简介 68

8.1.2各库文件间的关系 74

8.2使用帮助文档 75

8.2.1常用官方资料 75

8.2.2初识库函数 76

第9章 新建工程——库函数版 78

9.1新建本地工程文件夹 78

9.2新建工程 79

9.3配置魔术棒选项卡 82

9.4下载器配置 85

9.5选择Flash大小 86

第10章GPIO输出——使用固件库点亮LED 88

10.1硬件设计 88

10.2软件设计 88

10.2.1编程要点 89

10.2.2代码分析 89

10.2.3下载验证 94

10.3 STM32标准库补充知识 94

第11章GPIO输入——按键检测 98

11.1硬件设计 98

11.2软件设计 99

11.2.1编程要点 99

11.2.2代码分析 99

11.2.3下载验证 102

第12章GPIO——位带操作 103

12.1位带简介 103

12.1.1外设位带区 103

12.1.2 SRAM位带区 104

12.1.3位带区和位带别名区地址转换 104

12.2 GPIO位带操作 105

第13章 启动文件 108

13.1启动文件简介 108

13.2查找ARM汇编指令 108

13.3启动文件代码讲解 109

第14章RCC——使用HSE/HSI配置时钟 116

14.1 RCC主要作用——时钟部分 116

14.2 RCC框图剖析——时钟树 116

14.2.1系统时钟 116

14.2.2其他时钟 121

14.3配置系统时钟实验 122

14.3.1使用HSE 122

14.3.2使用HSI 122

14.3.3硬件设计 123

14.3.4软件设计 123

14.3.5下载验证 129

第15章STM32中断应用概览 130

15.1异常类型 130

15.2 NVIC简介 131

15.2.1 NVIC寄存器简介 131

15.2.2 NVIC中断配置固件库 132

15.3优先级的定义 132

15.3.1优先级定义 132

15.3.2优先级分组 133

15.4中断编程 134

第16章EXT I——外部中断/事件控制器 136

16.1 EXTI简介 136

16.2 EXTI功能框图 136

16.3中断/事件线 138

16.4 EXTI初始化结构体详解 139

16.5外部中断控制实验 139

16.5.1硬件设计 140

16.5.2软件设计 140

16.5.3下载验证 144

第17章SysTick——系统定时器 145

17.1 SysTick简介 145

17.2 SysTick寄存器介绍 145

17.3 SysTick定时实验 146

17.3.1硬件设计 146

17.3.2软件设计 146

第18章 通信的基本概念 152

18.1串行通信与并行通信 152

18.2全双工、半双工及单工通信 153

18.3同步通信与异步通信 153

18.4通信速率 154

第19章USART——串口通信 155

19.1串口通信协议简介 155

19.1.1物理层 155

19.1.2协议层 158

19.2 STM32的USART简介 159

19.3 USART功能框图 160

19.4 USART初始化结构体详解 166

19.5 USART 1接发通信实验 167

19.5.1硬件设计 168

19.5.2软件设计 168

19.5.3下载验证 173

19.6 USART1指令控制RGB彩灯实验 174

19.6.1硬件设计 174

19.6.2软件设计 174

19.6.3下载验证 179

第20章DMA 180

20.1 DMA简介 180

20.2 DMA功能框图 180

20.3 DMA数据配置 184

20.4 DMA初始化结构体详解 188

20.5 DMA存储器到存储器模式实验 190

20.5.1硬件设计 190

20.5.2软件设计 190

20.5.3下载验证 195

20.6 DMA存储器到外设模式实验 195

20.6.1硬件设计 195

20.6.2软件设计 195

20.6.3下载验证 199

第21章 常用存储器介绍 200

21.1存储器种类 200

21.2 RAM存储器 200

21.2.1 DRAM 201

21.2.2 SRAM 202

21.2.3 DRAM与SRAM的应用场合 202

21.3非易失性存储器 202

21.3.1 ROM存储器 202

21.3.2 Flash存储器 203

第22章I2C——读写EEPROM 205

22.1 I2C协议简介 205

22.1.1 I2C物理层 205

22.1.2协议层 206

22.2 STM32的I2C特性及架构 209

22.2.1STM32的I2C外设简介 209

22.2.2 STM32的I2C架构剖析 210

22.2.3通信过程 212

22.3 I2C初始化结构体详解 213

22.4 I2C ——读写EEPROM实验 215

22.4.1硬件设计 215

22.4.2软件设计 216

22.4.3下载验证 234

第23章SPI——读写串行Flash 235

23.1 SPI协议简介 235

23.1.1 SPI物理层 235

23.1.2协议层 236

23.2 STM32的SPI特性及架构 238

23.2.1 STM32的SPI外设简介 238

23.2.2 STM32的SPI架构剖析 239

23.2.3通信过程 241

23.3 SPI初始化结构体详解 242

23.4 SPI——读写串行Flash实验 243

23.4.1硬件设计 243

23.4.2软件设计 244

23.4.3下载验证 264

第24章 串行Flash文件系统FatFs 265

24.1文件系统 265

24.2 FatFs文件系统简介 266

24.2.1 FatFs的目录结构 266

24.2.2 FatFs帮助文档 266

24.2.3 FatFs源码 267

24.3 FatFs文件系统移植实验 268

24.3.1 FatFs程序结构图 268

24.3.2硬件设计 269

24.3.3 FatFs移植步骤 269

24.3.4 FatFs底层设备驱动函数 271

24.3.5 FatFs功能配置 276

24.3.6 FatFs功能测试 277

24.3.7下载验证 280

24.4 FatFs功能使用实验 281

24.4.1硬件设计 281

24.4.2软件设计 281

24.4.3下载验证 286

第25章FMC——扩展外部SDRAM 287

25.1 SDRAM控制原理 287

25.1.1 SDRAM信号线 288

25.1.2控制逻辑 289

25.1.3地址控制 289

25.1.4 SDRAM的存储阵列 289

25.1.5数据输入输出 289

25.1.6 SDRAM的命令 290

25.1.7 SDRAM的初始化流程 295

25.1.8 SDRAM的读写流程 296

25.2 FMC简介 297

25.3 FMC框图剖析 298

25.4 FMC的地址映射 300

25.5 SDRAM时序结构体 302

25.6 SDRAM初始化结构体 303

25.7 SDRAM命令结构体 304

25.8 FMC——扩展外部SDRAM实验 305

25.8.1硬件设计 305

25.8.2软件设计 305

25.8.3下载验证 316

第26章LTDC/DMA2D——液晶显示 317

26.1显示器简介 317

26.1.1液晶显示器 317

26.1.2 LED和OLED显示器 318

26.1.3显示器的基本参数 319

26.2液晶屏控制原理 319

26.2.1液晶面板的控制信号 320

26.2.2液晶数据传输时序 321

26.2.3显存 323

26.3 LTDC液晶控制器简介 323

26.3.1图像数据混合 323

26.3.2 LTDC结构框图剖析 324

26.4 DMA2D图形加速器简介 327

26.5 LTDC初始化结构体 329

26.6 LTDC层级初始化结构体 331

26.7 DMA2D初始化结构体 334

26.8 LTDC/DMA2D——液晶显示实验 336

26.8.1硬件设计 336

26.8.2软件设计 338

26.8.3下载验证 358

第27章LTDC——液晶显示中英文 359

27.1字符编码 359

27.1.1 ASCII编码 359

27.1.2中文编码 362

27.1.3 Unicode字符集和编码 365

27.1.4 UTF-32 365

27.1.5 UTF-16 365

27.1.6 UTF-8 366

27.1.7 BOM 367

27.2字模简介 367

27.2.1字模的构成 368

27.2.2字模显示原理 368

27.2.3如何制作字模 370

27.2.4字模寻址公式 371

27.2.5存储字模文件 372

27.3 LTDC——各种模式的液晶显示字符实验 372

27.3.1硬件设计 373

27.3.2显示ASCII编码的字符 373

27.3.3显示GB2312编码的字符 382

27.3.4显示任意大小的字符 391

27.3.5下载验证 398

第28章 电容触摸屏——触摸画板 399

28.1触摸屏简介 399

28.1.1电阻触摸屏检测原理 399

28.1.2电容触摸屏检测原理 401

28.2电容触摸屏控制芯片 402

28.2.1 GT9157芯片的引脚 403

28.2.2上电时序与I2C设备地址 404

28.2.3寄存器配置 404

28.2.4读取坐标信息 406

28.3电容触摸屏——触摸画板实验 408

28.3.1硬件设计 408

28.3.2软件设计 409

28.3.3下载验证 430

第29章ADC——电压采集 431

29.1 ADC简介 431

29.2 ADC功能框图剖析 431

29.2.1 ADC功能 431

29.2.2电压转换 437

29.3 ADC初始化结构体详解 437

29.4独立模式单通道采集实验 438

29.4.1硬件设计 439

29.4.2软件设计 439

29.4.3下载验证 443

29.5独立模式多通道采集实验 443

29.5.1硬件设计 443

29.5.2软件设计 443

29.5.3下载验证 449

29.6三重ADC交替模式采集实验 449

29.6.1硬件设计 449

29.6.2软件设计 450

29.6.3下载验证 455

第30章TIM——基本定时器 456

30.1 TIM简介 456

30.2基本定时器 456

30.3基本定时器功能框图 458

30.4定时器初始化结构体详解 460

30.5基本定时器定时实验 461

30.5.1硬件设计 461

30.5.2软件设计 461

30.5.3下载验证 464

第31章TIM——高级定时器 465

31.1高级控制定时器 465

31.2高级控制定时器功能框图 466

31.3输入捕获应用 476

31.3.1测量脉宽或者频率 476

31.3.2 PWM输入模式 477

31.4输出比较应用 478

31.5定时器初始化结构体详解 480

31.6 PWM互补输出实验 483

31.6.1硬件设计 484

31.6.2软件设计 484

31.6.3下载验证 488

31.7 PWM输入捕获实验 489

31.7.1硬件设计 489

31.7.2软件设计 489

31.7.3下载验证 494

第32章TIM——电容按键检测 495

32.1电容按键原理 495

32.2电容按键检测实验 496

32.2.1硬件设计 497

32.2.2软件设计 497

32.2.3下载验证 504

第33章SDIO—— SD卡读写测试 505

33.1 SDIO简介 505

33.2 SD卡物理结构 506

33.3 SDIO总线 507

33.3.1总线拓扑 507

33.3.2总线协议 508

33.3.3命令 510

33.3.4响应 512

33.4 SD卡的操作模式及切换 514

33.4.1 SD卡的操作模式 514

33.4.2卡识别模式 514

33.4.3数据传输模式 516

33.5 STM32的SDIO功能框图 516

33.6 SDIO初始化结构体 521

33.7 SDIO命令初始化结构体 522

33.8 SDIO数据初始化结构体 523

33.9 SD卡读写测试实验 523

33.9.1硬件设计 524

33.9.2软件设计 524

33.9.3下载验证 549

第34章 基于SD卡的FatFs文件系统 550

34.1 FatFs移植步骤 550

34.2 FatFs接口函数 552

34.3 FatFs功能测试 557

第35章I2S——音频播放与录音输入 561

35.1 I2S简介 561

35.1.1数字音频技术 561

35.1.2 I2S总线接口 562

35.1.3音频数据传输协议标准 562

35.2 I2S功能框图 565

35.3 WM8978音频编译码器 567

35.4 WAV格式文件 569

35.4.1 RIFF文件规范 570

35.4.2 WAV文件 570

35.4.3 WAV文件实例分析 571

35.5 I2S初始化结构体详解 571

35.6录音与回放实验 572

35.6.1硬件设计 573

35.6.2软件设计 573

35.6.3下载验证 601

35.7 MP3播放器 601

35.7.1 MP3文件结构 602

35.7.2 MP3解码库 605

35.7.3 Helix解码库移植 606

35.7.4 MP3播放器功能实现 606

35.7.5下载验证 614

第36章ETH—— LwI P以太网通信 615

36.1互联网模型 615

36.2以太网 616

36.2.1 PHY层 616

36.2.2 MAC子层 617

36.3 TCP/IP协议栈 618

36.3.1需要协议栈的原因 619

36.3.2各网络层的功能 619

36.4以太网外设 620

36.4.1 SMI接口 621

36.4.2 MII和RMII接口 623

36.4.3 MAC数据包发送和接收 624

36.4.4 MAC过滤 626

36.5 PHY: LAN8720A 626

36.6 LwIP:轻型TCP/IP协议栈 629

36.7 ETH初始化结构体详解 629

36.8以太网通信实验:无操作系统LwIP移植 635

36.8.1硬件设计 635

36.8.2移植步骤 635

36.8.3下载验证 661

36.9基于μCOS-Ⅲ移植LwIP实验 663

第37章CAN——通信实验 680

37.1 CAN协议简介 680

37.1.1 CAN物理层 680

37.1.2协议层 684

37.2 STM32的CAN外设简介 690

37.3 CAN初始化结构体 698

37.4 CAN发送及接收结构体 700

37.5 CAN筛选器结构体 701

37.6 CAN——双机通信实验 703

37.6.1硬件设计 703

37.6.2软件设计 704

37.6.3下载验证 713

第38章RS-485通信实验 714

38.1 RS-485通信协议简介 714

38.2 RS-485——双机通信实验 715

38.2.1硬件设计 715

38.2.2软件设计 716

38.2.3下载验证 723

第39章 电源管理——实现低功耗 724

39.1 STM32的电源管理简介 724

39.1.1电源监控器 724

39.1.2 STM32的电源系统 726

39.1.3 STM32的功耗模式 727

39.2电源管理相关的库函数及命令 729

39.2.1配置PVD监控功能 729

39.2.2 WFI与WFE命令 729

39.2.3进入停止模式 730

39.2.4进入待机模式 731

39.3 PWR——睡眠模式实验 732

39.3.1硬件设计 732

39.3.2软件设计 732

39.3.3下载验证 735

39.4 PWR——停止模式实验 735

39.4.1硬件设计 735

39.4.2软件设计 735

39.4.3下载验证 739

39.5 PWR——待机模式实验 739

39.5.1硬件设计 740

39.5.2软件设计 740

39.5.3下载验证 743

39.6 PWR—— PVD电源监控实验 743

39.6.1硬件设计 743

39.6.2软件设计 745

39.6.3下载验证 747

第40章RTC——实时时钟 748

40.1RTC简介 748

40.2 RTC功能框图解析 748

40.3 RTC初始化结构体讲解 751

40.4 RTC时间结构体讲解 752

40.5 RTC日期结构体讲解 753

40.6 RTC闹钟结构体讲解 753

40.7 RTC—日历实验 754

40.7.1硬件设计 754

40.7.2软件设计 754

40.7.3下载验证 760

40.8 RTC—闹钟实验 760

40.8.1硬件设计 760

40.8.2软件设计 760

40.8.3下载验证 765

第41章DCMI—— OV5640摄像头 766

41.1摄像头简介 766

41.1.1数字摄像头与模拟摄像头的区别 766

41.1.2 CCD与CMOS的区别 767

41.2 OV5640摄像头 767

41.2.1 OV5640传感器简介 769

41.2.2 OV5640引脚及功能框图 769

41.2.3 SCCB时序 771

41.2.4 OV5640的寄存器 772

41.2.5像素数据输出时序 773

41.3 STM32的DCMI接口简介 773

41.3.1 DCMI整体框图 774

41.3.2 DCMI接口内部结构 775

41.3.3同步方式 775

41.3.4捕获模式及捕获率 776

41.4 DCMI初始化结构体 776

41.5 DCMI——OV 5640摄像头实验 777

41.5.1硬件设计 777

41.5.2软件设计 779

41.5.3下载验证 797

第42章MDK的编译过程及文件类型全解 798

42.1编译过程 798

42.1.1编译过程简介 798

42.1.2具体工程中的编译过程 799

42.2程序的组成、存储与运行 800

42.2.1 CODE、RO、RW、 ZI Data域及堆栈空间 800

42.2.2程序的存储与运行 801

42.3编译工具链 802

42.3.1设置环境变量 803

42.3.2 armcc、armasm及 armlink 804

42.3.3 armar、 fromelf及用户指令 807

42.4 MDK工程的文件类型 808

42.4.1 uvprojx、 uvoptx、uvguix及ini工程文件 809

42.4.2源文件 811

42.4.3 Output目录下生成的文件 811

42.4.4 Listing目录下的文件 831

42.4.5 sct分散加载文件的格式与应用 837

42.5实验:自动分配变量到外部SDRAM空间 846

42.5.1硬件设计 846

42.5.2软件设计 847

42.5.3下载验证 853

42.6实验:优先使用内部SRAM并把堆区分配到SDRAM空间 853

42.6.1硬件设计 854

42.6.2软件设计 854

42.6.3下载验证 864

第43章在SRAM中调试代码 865

43.1在RAM中调试代码 865

43.2 STM32的启动方式 865

43.3内部Flash的启动过程 867

43.4实验:在内部SRAM中调试代码 869

43.4.1硬件设计 869

43.4.2软件设计 870

43.4.3下载验证 877

第44章 读写内部Flash 878

44.1 STM32的内部Flash简介 878

44.2对内部Flash的写入过程 881

44.3查看工程的空间分布 882

44.4操作内部Flash的库函数 884

44.5实验:读写内部Flash 887

44.5.1硬件设计 887

44.5.2软件设计 887

44.5.3下载验证 893

第45章 设置Flash的读写保护及解除 894

45.1选项字节与读写保护 894

45.1.1选项字节的内容 894

45.1.2 RDP读保护级别 896

45.1.3 PCROP代码读出保护 898

45.2修改选项字节的过程 898

45.3操作选项字节的库函数 899

45.4实验:设置读写保护及解除 901

45.4.1硬件设计 902

45.4.2软件设计 902

45.4.3下载验证 908

精品推荐