图书介绍

STM32库开发实战指南 基于STM32F4PDF|Epub|txt|kindle电子书版本网盘下载

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章 如何安装KEIL51

1.1温馨提示1

1.2获取KEIL5安装包1

1.3开始安装KEIL51

1.4安装STM32芯片包3

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

2.1仿真器简介6

2.2硬件连接6

2.3仿真器配置6

2.4选择目标板9

2.5下载程序9

第3章 初识STM3210

3.1什么是STM3210

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选择合适的MCU14

第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章 使用寄存器点亮LED39

6.1 GPIO简介39

6.2 GPIO框图剖析39

6.2.1基本结构分析39

6.2.2 GPIO工作模式42

6.3实验:使用寄存器点亮LED43

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使用函数点亮LED64

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输出——使用固件库点亮LED88

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使用HSE122

14.3.2使用HSI122

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章DMA180

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 DRAM201

21.2.2 SRAM202

21.2.3 DRAM与SRAM的应用场合202

21.3非易失性存储器202

21.3.1 ROM存储器202

21.3.2 Flash存储器203

第22章I2C——读写EEPROM205

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——读写串行Flash235

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文件系统FatFs265

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——扩展外部SDRAM287

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-32365

27.1.5 UTF-16365

27.1.6 UTF-8366

27.1.7 BOM367

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: LAN8720A626

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及 armlink804

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章 读写内部Flash878

44.1 STM32的内部Flash简介878

44.2对内部Flash的写入过程881

44.3查看工程的空间分布882

44.4操作内部Flash的库函数884

44.5实验:读写内部Flash887

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

热门推荐