手把手教你学ARM Cortex-M0:基于STM32F0x2系列

手把手教你学ARM Cortex-M0:基于STM32F0x2系列
作 者: 周兴华 刘海渊
出版社: 北京航空航天大学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: 暂缺
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《手把手教你学ARM Cortex-M0:基于STM32F0x2系列》作者简介

内容简介

本书以ST公司的STM32F0x2系列ARM处理器为例,从零开始,手把手地教初学者学习ARM设计知识。在介绍STM32F0x2系列各单元基本特性的同时,使用入门难度低、程序较短且能立竿见影的初级实例,循序渐进地帮助初学者掌握ARM的设计知识,以实践为主,辅以理论。本书的实例均经作者实际测试并能在实验板上正常运行,实用性非常强,读者既可以直接用于产品,也可以进一步改良升级。同时本书贯彻“手把手教你学系列丛书”的教学方式。本书可用作大学本科或专科、中高等职业技术学校、电视大学等的教学用书,也可作为ARM爱好者的入门自学用书。

图书目录

基础篇

第1章 概 述………………………………………………………………………… 3

1.1 采用C语言编程……………………………………………………………… 3

1.2 C语言突出的优点…………………………………………………………… 4

1.3 寄存器操作与库函数操作…………………………………………………… 6

1.4 ARM 嵌入式处理器的开发环境…………………………………………… 7

第2章 ARM 发展简介……………………………………………………………… 9

2.1 ARM 是什么………………………………………………………………… 9

2.2 嵌入式处理器RISC技术简介……………………………………………… 9

2.3 ARM 处理器的发展………………………………………………………… 10

2.4 ARM 处理器的应用………………………………………………………… 14

2.5 ARM 处理器的优点………………………………………………………… 15

2.6 ARM 的优势………………………………………………………………… 15

2.7 ARM 未来发展展望………………………………………………………… 16

第3章 ARM Cortex-M0处理器内核架构体系…………………………………… 18

3.1 STM32F072的特性和结构………………………………………………… 19

3.2 STM32F072存储器和外设寄存器边界映射……………………………… 20

3.3 STM32F072系统配置……………………………………………………… 25

3.4 STM32F072中断控制……………………………………………………… 30

3.5 STM32F072引脚封装……………………………………………………… 32

第4章 开发/实验工具介绍及第一个STM32F072入门程序…………………… 37

4.1 RealView MDK5.15开发环境及厂商软件包安装……………………… 37

4.2 CMSIS简介………………………………………………………………… 38

4.3 STM32F0x2实验工具……………………………………………………… 41

4.4 STM32F0x2系列开发过程的文件管理及项目设置……………………… 45

4.5 STM32F0x2开发流程……………………………………………………… 52

4.6 第一个STM32F072入门程序……………………………………………… 52

第5章 C语言基础知识…………………………………………………………… 59

5.1 C语言的标识符与关键字…………………………………………………… 59

5.2 数据类型……………………………………………………………………… 60

5.3 常量、变量及存储方式……………………………………………………… 61

5.4 数 组………………………………………………………………………… 62

5.5 C语言的运算………………………………………………………………… 65

5.6 流程控制……………………………………………………………………… 72

5.7 函 数………………………………………………………………………… 77

5.8 指 针………………………………………………………………………… 80

5.9 结构体………………………………………………………………………… 84

5.10 共用体……………………………………………………………………… 90

5.11 枚 举……………………………………………………………………… 92

5.12 KeilRealView MDK在ARM C语言开发中的常用方法……………… 93

5.13 中断函数…………………………………………………………………… 94

入门篇

第6章 STM32F0x2复位和系统时钟……………………………………………… 99

6.1 复 位………………………………………………………………………… 99

6.2 时 钟……………………………………………………………………… 100

6.3 低功耗模式………………………………………………………………… 106

6.4 RCC库函数………………………………………………………………… 107

6.5 配置系统时钟频率………………………………………………………… 117

第7章 STM32F0x2通用I/O 的特性及应用…………………………………… 120

7.1 通用I/O的特点…………………………………………………………… 120

7.2 GPIO库函数……………………………………………………………… 127

7.3 STM32F072的GPIO输出实验———控制发光二极管闪烁…………… 129

7.4 软件延时较准确的GPIO输出实验———控制发光二极管闪烁………… 131

7.5 STM32F072的GPIO输入/输出实验———按键控制发光二极管闪烁……………………………………………………………………………… 133

第8章 中断/事件及应用设计…………………………………………………… 139

8.1 嵌套向量中断控制器的特点……………………………………………… 139

8.2 外部中断/事件控制器……………………………………………………… 141

8.3 外部和内部中断/事件线路映像…………………………………………… 143

8.4 MISC库函数及EXTI库函数…………………………………………… 144

8.5 STM32F072的外中断实验———控制发光二极管亮/灭………………… 145

8.6 STM32F072的系统节拍定时器中断实验———控制发光二极管精确亮/灭……………………………………………………………………………… 150

第9章 TFT-LCD 彩色液晶显示器的驱动显示………………………………… 154

9.1 TFT-LCD彩色液晶显示器……………………………………………… 154

9.2 TFT-LCD彩色液晶显示器模块的引脚功能…………………………… 155

9.3 ILI9325/ILI9328几个重要的控制寄存器及控制命令…………………… 156

9.4 TFT-LCD彩色液晶显示器显示的相关设置步骤……………………… 160

9.5 STM32F072的TFT-LCD驱动实验———显示多种颜色及图形………… 161

第10章 SPI总线特性及W25Q16SPIFlash存储器驱动……………………… 181

10.1 SPI的主要特点…………………………………………………………… 181

10.2 SPI功能描述……………………………………………………………… 182

10.3 SPI中断…………………………………………………………………… 189

10.4 SPI库函数………………………………………………………………… 190

10.5 W25Q16SPIFlash存储器……………………………………………… 198

10.6 W25Q 系列存储器的特点………………………………………………… 199

10.7 W25Q 系列存储器的引脚封装及配置…………………………………… 201

10.8 W25Q 系列存储器的引脚功能…………………………………………… 202

10.9 W25Q 系列存储器的控制/状态寄存器………………………………… 203

10.10 W25Q 系列存储器的状态寄存器存储保护模块……………………… 204

10.11 W25Q 系列存储器的操作指令………………………………………… 206

10.12 中英文显示的原理……………………………………………………… 217

10.13 编写生成CHNGBK_MAKE.hex应用程序的源代码……………… 218

10.14 中文字库的下载………………………………………………………… 220

10.15 STM32F072的TFT-LCD驱动实验———显示多种颜色、图形及中英文字符…………………………………………………………………… 223

第11章 通用同步异步串行收发器的特性及应用……………………………… 239

11.1 USART简介……………………………………………………………… 239

11.2 USART中断……………………………………………………………… 246

11.3 USART库函数…………………………………………………………… 247

11.4 STM32F072的串口通信实验———与PC实现通信…………………… 249

第12章 RTC实时时钟的特性及应用…………………………………………… 254

12.1 RTC模块的主要特性…………………………………………………… 254

12.2 RTC初始化及配置……………………………………………………… 256

12.3 RTC中断………………………………………………………………… 256

12.4 RTC库函数……………………………………………………………… 257

12.5 STM32F072的实时时钟实验———获取当前时间……………………… 261

第13章 定时器与计数器的特性及应用………………………………………… 272

13.1 高级控制定时器TIM1…………………………………………………… 272

13.2 通用定时器TIM2/TIM3………………………………………………… 274

13.3 通用定时器TIM14 ……………………………………………………… 275

13.4 通用定时器TIM15/TIM16/TIM17 …………………………………… 276

13.5 基本定时器TIM6/TIM7………………………………………………… 279

13.6 TIM 库函数……………………………………………………………… 279

13.7 STM32F072定时器的定时中断实验———LED1每500ms闪烁一次……………………………………………………………………………… 285

13.8 STM32F072定时器1的输入捕获实验………………………………… 288

13.9 STM32F072定时器3的比较匹配中断实验…………………………… 291

13.10 STM32F072定时器1的PWM 输出实验…………………………… 294

13.11 红外遥控信号接收解调实验…………………………………………… 298

第14章 数/模转换器的特性及应用……………………………………………… 306

14.1 DAC的特点……………………………………………………………… 306

14.2 DAC功能设置…………………………………………………………… 307

14.3 DAC库函数……………………………………………………………… 310

14.4 STM32F072的DAC输出实验………………………………………… 311

第15章 模/数转换器的特性及应用……………………………………………… 318

15.1 ADC的主要特性………………………………………………………… 318

15.2 ADC的功能及设置……………………………………………………… 320

15.3 转换的外部触发和触发极性……………………………………………… 324

15.4 数据对齐…………………………………………………………………… 324

15.5 温度传感器………………………………………………………………… 325

15.6 电池电压监测……………………………………………………………… 326

15.7 ADC中断………………………………………………………………… 326

15.8 ADC库函数……………………………………………………………… 326

15.9 STM32F072的ADC转换实验………………………………………… 329

第16章 DMA 控制器的特性及应用……………………………………………… 333

16.1 DMA 的主要特性………………………………………………………… 333

16.2 DMA 的功能……………………………………………………………… 334

16.3 DMA 库函数……………………………………………………………… 340

16.4 STM32F072的ADC转换DMA 数据传送实验……………………… 342

第17章 I2C总线接口的特性及应用…………………………………………… 348

17.1 I2C的主要特性…………………………………………………………… 348

17.2 I2C功能描述……………………………………………………………… 349

17.3 I2C库函数………………………………………………………………… 359

17.4 STM32F072的I2C通信实验———读/写AT24C02 …………………… 362

第18章 比较器的特性及应用…………………………………………………… 380

18.1 比较器的主要特性………………………………………………………… 380

18.2 比较中断…………………………………………………………………… 381

18.3 COMP库函数…………………………………………………………… 381

18.4 STM32F072的模拟比较器实验………………………………………… 383

第19章 bxCAN 的特性及应用…………………………………………………… 391

19.1 bxCAN 的主要特性……………………………………………………… 391

19.2 bxCAN 工作模式及网络拓扑…………………………………………… 392

19.3 bxCAN 功能描述………………………………………………………… 395

19.4 bxCAN 中断……………………………………………………………… 403

19.5 bxCAN 库函数…………………………………………………………… 404

19.6 STM32F072的CAN 通信实验………………………………………… 406

第20章 看门狗定时器的特性及应用…………………………………………… 412

20.1 独立看门狗………………………………………………………………… 412

20.2 窗口看门狗………………………………………………………………… 414

20.3 IWDG库函数……………………………………………………………… 417

20.4 STM32F072的独立看门狗实验………………………………………… 418

提高篇

第21章 电阻式触摸屏的原理及设计…………………………………………… 425

21.1 低电压输入/输出触摸屏控制器ADS7846简介……………………… 425

21.2 ADS7846的工作原理…………………………………………………… 427

21.3 ADS7846的控制字……………………………………………………… 429

21.4 笔中断接触输出…………………………………………………………… 431

21.5 STM32F072的触摸屏测试实验………………………………………… 431

第22章 2.4G 无线收发模块NRF24L01的特性及应用……………………… 444

22.1 NRF24L01的主要特性…………………………………………………… 444

22.2 NRF24L01的结构及引脚功能…………………………………………… 444

22.3 NRF24L01的工作模式…………………………………………………… 446

22.4 NRF24L01的工作原理…………………………………………………… 446

22.5 配置字……………………………………………………………………… 447

22.6 STM32F072的NRF24L01通信实验…………………………………… 447

第23章 FatFS文件系统及电子书实验………………………………………… 463

23.1 FatFS文件系统的特点…………………………………………………… 464

23.2 FatFS文件系统分析……………………………………………………… 464

23.3 FatFS文件系统移植……………………………………………………… 466

23.4 SD卡的初始化及文件系统实验………………………………………… 470

23.5 电子书实验………………………………………………………………… 496

第24章 数码相框设计显示及GUI实验………………………………………… 514

24.1 简易数码相框的构成和图像文件的处理………………………………… 514

24.2 数码相框设计显示实验…………………………………………………… 515

24.3 GUI ……………………………………………………………………… 518

24.4 GUI设计实验…………………………………………………………… 519

第25章 RTXKernel实时操作系统……………………………………………… 542

第26章 RTXKernel的延时及事件设计实验…………………………………… 579

第27章 RTXKernel内存池及邮箱的设计实验………………………………… 599

第28章 RTXKernel的互斥设计实验…………………………………………… 609

第29章 RTXKernel信号量的传送与接收设计实验…………………………… 613

第30章 RTXKernel综合设计实验……………………………………………… 617

第31章 μCOS-II实时操作系统………………………………………………… 642

第32章 μCOS-II实时操作系统入门及移植…………………………………… 668

第33章 μCOS-II事件标志组设计实验………………………………………… 677

第34章 μCOS-II消息邮箱设计实验…………………………………………… 697

第35章 μCOS-II动态内存分配设计实验……………………………………… 703

第36章 μCOS-II消息队列设计实验…………………………………………… 708

第37章 μCOS-II互斥量设计实验……………………………………………… 714

第38章 μCOS-II信号量设计实验……………………………………………… 720

第39章 μCOS-II应用设计实验………………………………………………… 726

应用篇

第40章 使用DS18B20测量温度及使用DHT11测量温湿度………………… 755

第41章 RS 485通信组网设计………………………………………………… 778

第42章 NRF24L01无线通信组网设计………………………………………… 797

第43章 CAN 通信组网设计……………………………………………………… 820