图书介绍

跟工程师学嵌入式开发 基于STM32和μC/OS-IIIPDF|Epub|txt|kindle电子书版本网盘下载

跟工程师学嵌入式开发 基于STM32和μC/OS-III
  • 谭贵,易确,熊立宇编著 著
  • 出版社: 北京:电子工业出版社
  • ISBN:9787121327254
  • 出版时间:2017
  • 标注页数:432页
  • 文件大小:123MB
  • 文件页数:449页
  • 主题词:微处理器-系统设计

PDF下载


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

下载说明

跟工程师学嵌入式开发 基于STM32和μC/OS-IIIPDF格式电子书版下载

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

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

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

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

图书目录

第1章 开发利器:STM32库和MDK Kell1

1.1学习启航:闪烁的跑马灯1

1.1.1实验结果呈现1

1.1.2实验分析2

1.1.3配置GPIO引脚5

1.1.4实验控制逻辑6

1.2 STM32库结构和CMSIS标准8

1.2.1 STM32库层次结构9

1.2.2 CMSIS层次结构9

1.2.3 STM32库结构中的文件关系10

1.2.4 STM32库函数命名规则13

1.2.5 STM32库常见的几个状态类型13

1.3工程开发环境设置14

1.3.1有关MDK14

1.3.2使用MDK建立工程的步骤15

第2章 STM32体系结构25

2.1总线与通信接口25

2.1.1总线组成25

2.1.2重要的总线术语26

2.2 STM32功能框架27

2.2.1系统组成27

2.2.2总线单元及挂接设备28

2.3 STM32存储器映射29

2.3.1独立编址30

2.3.2统一编址(存储器映像编址)31

2.3.3 CM3外设地址空间映射32

2.3.4地址空间映射详解34

2.4 STM32时钟结构39

2.4.1 STM32F103ZET6的时钟树39

2.4.2时钟树二级框架40

2.4.3时钟启用过程41

2.5系统时钟树与地址空间映射的关系43

第3章 STM32系统自动过程分析44

3.1 CM3的复位序列44

3.1.1堆栈45

3.1.2向量表47

3.2 STM32启动代码分析49

3.3 STM32系统时钟初始化52

3.3.1时钟源的选择52

3.3.2系统时钟设置56

3.4程序运行环境初始化函数_main()60

3.4.1回顾编译和链接过程60

3.4.2映像文件的组成61

3.4.3映像的加载过程63

3.4.4由MDK集成环境自动生成的分散加载文件65

3.4.5_main()函数的作用66

第4章 通用SPIO操作68

4.1实验结果预览:LED跑马灯68

4.2 GPIO基本知识68

4.2.1 GPIO分组管理及其引脚69

4.2.2 GPIO工作模式及其配置69

4.2.3 GPIO引脚的写入和读出71

4.3实验代码解析74

4.3.1实验现象原理分析74

4.3.2源代码分析78

4.4创建工程81

4.4.1建立工程目录结构81

4.4.2导入源代码文件81

4.4.3编译执行82

4.5编译调试82

4.5.1调试方法82

4.5.2栈和变量观察窗口83

4.5.3运行程序并调试:一个函数一个断点84

4.5.4运行程序并调试:多个函数多个断点86

第5章 外部中断EXTI操作90

5.1实验结果预览:LED跑马灯_中断控制90

5.2异常与中断91

5.2.1 Cortex-M3的异常向量91

5.2.2异常向量表92

5.3 NVIC与中断控制93

5.3.1 NVIC简述93

5.3.2 NVIC与外部中断93

5.3.3 NVIC中断的优先级94

5.3.4 NVIC初始化95

5.4 EXTI基本知识97

5.4.1 EXTI简介97

5.4.2 EXTI控制器组成结构97

5.4.3 GPIO引脚到EXTI_Line的映射100

5.4.4 EXTI Line到NVIC的映射102

5.5实验代码解析103

5.5.1工程源码的逻辑结构103

5.5.2实验代码软硬件原理104

5.5.3实验代码分析107

5.6创建工程109

5.6.1建立工程目录结构109

5.6.2导入源代码文件109

5.6.3编译执行110

5.7编译调试111

5.7.1打开内存窗口111

5.7.2设置断点111

5.7.3运行程序并调试112

第6章 USART接口115

6.1实验结果预览115

6.1.1实验准备工作115

6.1.2实验现象描述116

6.2 USART基本知识117

6.2.1串行异步通信协议117

6.2.2 USART与接口标准RS-232118

6.3 STM32 USART结构119

6.3.1 USART工作模式119

6.3.2精简的USART结构119

6.3.3 USART单字节收发过程120

6.4 USART寄存器位功能定义121

6.4.1状态寄存器(USART_SR)121

6.4.2数据寄存器(USART DR)122

6.4.3控制寄存器1 (USART CR1)122

6.4.4控制寄存器2 (USART CR2)123

6.4.5控制寄存器3 (USART CR3)123

6.4.6分数波特率寄存器USART BRR124

6.4.7 USART模块寄存器组125

6.4.8 USART模块初始化函数126

6.4.9 USART常用函数功能说明127

6.5 USART实验代码分析128

6.5.1实验电路(硬件连接关系)128

6.5.2工程源代码文件层次结构130

6.5.3应用层(主程序控制逻辑)131

6.5.4用户驱动层133

6.5.5函数printf(重定向)135

6.6创建工程135

6.6.1建立工程目录结构135

6.6.2创建文件组和导入源文件136

6.6.3编译执行137

第7章 USART综合应用命令行外壳程序Shell138

7.1实验结果预览138

7.2基于USART的I/O函数139

7.2.1字符及字符串获取函数:xgetc()和xgets()139

7.2.2字符及字符串打印函数:xputc()和xputs()141

7.3可变参数输出函数xprintf()142

7.3.1可变参数142

7.3.2可变参数宏的使用与作用143

7.3.3用可变参数宏实现自己的格式化输出函数xprintf()144

7.4 Shell外壳145

7.4.1 Shell命令管理结构146

7.4.2 Shell命令解析过程147

7.4.3命令函数之参数解析150

7.5建立工程,编译和运行151

7.5.1创建和配置工程151

7.5.2编译执行153

第8章 I2C接口154

8.1实验结果预览:轮询写入/读出EEPROM数据154

8.2 I2C总线协议155

8.2.1总线特点155

8.2.2 I2C应用结构155

8.2.3总线信号时序分析156

8.3 STM32I2C模块158

8.3.1 12C组成框图158

8.3.2 I2C主模式工作流程159

8.3.3 I2C中断及DMA请求161

8.4 I2C EEPROM读写示例及分析162

8.4.1示例电路连接162

8.4.2 app.c文件中的main()函数163

8.4.3 eeprom.h文件166

8.4.4 eeprom.c文件167

8.4.5 shell.c文件174

8.5建立工程,编译及运行175

8.5.1创建和配置工程175

8.5.2编译执行176

第9章 DMA接口177

9.1实验结果预览177

9.2通用DMA的作用及特征178

9.3 STM32 DMA基本知识178

9.3.1 DMA与系统其他模块关系图178

9.3.2 STM32 DMA组成179

9.4实验示例分析183

9.4.1 main.c文件中的main()函数184

9.4.2 USART1的初始化184

9.4.3 DMA通道中断处理函数189

9.4.4 sysTick中断处理函数190

9.4.5 DMA通道配置的其他寄存器191

9.4.6 DMA用户测试命令及其执行函数192

9.5建立工程,编译和执行193

9.5.1建立以下工程文件夹194

9.5.2创建文件组和导入源文件194

9.5.3编译运行194

第10章 实时时钟RTC195

10.1实验结果预览195

10.2 STM32 RTC模块196

10.2.1 STM32后备供电区域196

10.2.2 RTC组成199

10.3 RTC实验设计与源码分析204

10.3.1硬件连接和GPIO资源204

10.3.2实验源代码逻辑结构204

10.3.3源代码分析205

10.4建立工程,编译和执行212

10.4.1建立以下工程文件夹212

10.4.2创建文件组和导入源文件212

104.3编译执行213

第11章 系统定时器SysTick214

11.1 SysTick简述214

11.2 SysTick工作过程214

11.3 SysTick寄存器位功能定义215

11.3.1控制和状态寄存器:STK_CTRL215

11.3.2重载寄存器:STK_LOAD216

11.3.3当前计数值寄存器:STK_VAL217

11.3.4校正寄存器:STK_CALIB217

11.3.5 SysTick模块寄存器组217

11.3.6配置SysTick定时器218

11.4基于SysTick的延时函数代码分析220

11.4.1实现原理220

11.4.2实现代码分析220

11.4.3基于SysTick延时的LED闪烁命令223

11.5建立工程,编译和执行224

11.5.1建立以下工程文件夹224

11.5.2创建文件组和导入源文件224

11.53编译运行226

第12章 SPI接口227

12.1实验现象预览:轮询写入/读出SPI Flash数据227

12.2 SPI总线协议228

12.2.1总线信号及其应用结构228

12.2.2 SPI内部结构与工作原理229

12.3 STM32 SPI模块231

12.3.1 SPI组成框图231

12.3.2 STM32 SPI主模式数据收发过程232

12.3.3 SPI中断及DMA请求234

12.4 W25QI28FV规格说明234

12.4.1 W25QI28FV状态和控制管理235

12.4.2 W25Ql28FV常用指令236

12.5程序入口与SPI初始化代码237

12.5.1实验硬件资源237

12.5.2工程入口文件main.c238

12.5.3 spiash.c文件中的spiFlash Init()函数239

12.6 SPI Flash测试代码分析243

12.6.1 spiflash.c文件中的SPI Flash测试函数spiTest()244

12.6.2 SPI Flash ID读取函数sFLASH readID()245

12.6.3扇区擦除函数sFLASH_eraseSector()246

12.6.4 Flash页写函数sFLASH writePage()246

12.6.5 Flash读函数sFLASH_readBuffer()247

12.6.6 Flash字节发送函数sFLASH SendByte()248

12.7向Shell添加SPI测试指令spitest249

12.8建立工程,编译和执行250

12.8.1建立以下工程文件夹250

12.8.2创建文件组和导入源文件250

12.8.3编译运行252

第13章 网络接口:以太网253

13.1网络体系结构简介253

13.1.1三种网络模型253

13.1.2以太网标准(Ethernet)256

13.2 ENC28J60知识257

13.2.1 ENC28J60概述257

13.2.2控制寄存器259

13.2.3以太网缓冲器260

13.2.4 PHY寄存器261

13.2.5 ENC28J60 SPI指令集261

13.2.6 ENC28J60初始化263

13.2.7使用ENC28J60收发数据268

13.2.8 ENC28J60驱动代码总结272

13.3 uIP协议栈简介274

13.3.1 uIP特性274

13.3.2 uIP应用接口275

13.3.3 uIP的初始化及配置函数277

13.3.4 uIP的主程序循环277

13.4 uIP移植分析279

13.4.1下载uIP 1.0版源码文件279

13.4.2理解两个中间层文件与应用层和协议层之间的关系280

13.4.3添加UIP协议栈后的工程文件组285

第14章 综合示例:基于uIP的Telnet服务286

14.1实验现象预览286

14.2 Telnet远程登录协议287

14.2.1 Telnet概述287

14.2.2 Telnet协议主要技术288

14.2.3 Telnet命令288

14.3 Telnetd服务框架及实现290

14.3.1本实验Telnetd服务框架290

14.3.2 Telnetd服务框架的实现291

14.4上层应用与UIP协议的接口:telnetd_appcall()304

14.5建立工程,编译和运行309

14.5.1创建和配置工程309

14.5.2编译执行311

第15章 SDIO总线协议与SD卡操作312

15.1 SD卡简介312

15.1.1 SD卡家族312

15.1.2 SD卡引脚功能定义313

15.1.3 SD卡内部组成314

15.1.4 SD卡容量规格315

15.1.5 SDIO接口规范和总线应用拓扑315

15.2 SD协议316

15.2.1工作模式与状态316

15.2.2命令和响应格式316

15.2.3卡识别模式317

15.2.4数据传输模式320

15.3 STM32 SDIO控制器322

15.3.1控制器总体结构描述322

15.3.2 SDIO适配器模块323

15.3.3 SDIO AHB接口325

15.4工程入口及配置326

15.4.1实验硬件资源326

15.4.2工程入口文件main.c327

15.5 SDIO初始化328

15.5.1 SD卡上电初始化函数SD_PowerON()330

15.5.2 SD卡规格信息获取函数SD_InitializeCards()336

15.6 SDIO卡测试代码分析339

15.6.1块擦除340

15.6.2多块写342

15.6.3多块读345

15.7建立工程,编译和运行348

15.7.1建立以下工程文件夹348

15.7.2创建文件组和导入源文件348

15.73编译执行349

第16章 移植文件系统FatFs350

16.1实验现象预览:基于Shell的文件系统命令350

16.2 FatFs文件系统351

16.2.1 FatFs特点351

16.2.2 FatFs在设备系统中的层次与接口351

16.3移植FatFs文件系统352

16.3.1 FatFs源代码结构352

16.3.2基于FatFs应用的常用数据类型说明353

16.3.3 FatFs的移植355

16.4 FatFs文件系统应用示例分析357

16.4.1工程源代码逻辑357

16.4.2工程源代码分析358

16.5建立工程,编译和运行363

16.5.1创建和配置工程363

16.5.2编译执行364

第17章 无线接入: Wi-Fi模块ESP8268应用365

17.1无线技术标准:IEEE 802.11365

17.1.1 IEEE 802.11简介365

17.1.2无线局域网的组网拓扑366

17.1.3无线接入过程的三个阶段367

17.2 ESP-WROOM-02模组368

17.2.1 ESP-WROOM-02性能参数368

17.2.2 ESP-WROOM-02与主机系统的电路连接369

17.3 ESP-WROOM-02指令集370

17.3.1 ESP8266 AT常用指令370

17.3.2使用ESP-WROOM-02进行真实通信373

17.4封装ESP-WROOM-02的配置函数375

17.4.1 ESP-WROOM-02的初始化函数375

17.4.2 ESP-WROOM-02的配置函数377

17.4.3优化USART接收缓存的数据结构379

17.4.4 ESP-WROOM-02的Shell操作命令381

17.5建立工程,编译和运行384

17.5.1工程程序文件384

17.5.2创建和配置工程384

17.5.3编译执行385

第18章 移植цC/OS-Ⅲ操作系统387

18.1 цC/OS-Ⅲ基础387

18.1.1 цC/OS-Ⅲ简介387

18.1.2 цC/OS-Ⅲ内核组成架构388

18.2 цC/OS-Ⅲ任务基础390

18.2.1任务状态390

18.2.2任务控制块和就绪任务表391

18.2.3创建任务391

18.2.4任务同步与通信393

18.3 цC/OS-Ⅲ的信号量393

18.3.1信号量分类及其应用393

18.3.2信号量工作方式394

18.3.3信号量应用操作步骤396

18.4 цC/OS-Ⅲ的消息队列396

18.4.1消息队列工作模型397

18.4.2消息队列应用操作步骤397

18.5 цC/OS-Ⅲ的事件标志组398

18.5.1事件标志组工作模型398

18.5.2事件标志组应用操作步骤399

18.6信号量、消息队列和事件标志组综合示例399

18.6.1综合示例任务关系图400

18.6.2任务代码头文件task.h400

18.6.3任务代码C文件task.c402

18.6.4中断异常处理文件stm32f10x_it.c409

18.7 цC/OS-Ⅲ移植410

18.7.1 цC/OS-Ⅲ源码组织架构410

18.7.2简化цC/OS-Ⅲ源码组织架构411

18.7.3建立基于цC/OS-Ⅲ的工程412

18.7.4 цC/OS-Ⅲ综合示例运行效果414

第19章 基于цC/OS-Ⅲ的信息系统415

19.1系统功能描述415

19.1.1系统任务划分415

19.1.2系统实际运行效果415

19.2系统任务设计分析417

19.2.1 Shell任务417

19.2.2 LED灯闪烁任务420

19.2.3事件监测任务420

19.2.4系统统计任务422

19.2.5无线通信处理任务425

19.3工程源代码(文件)整合428

19.3.1主文件main.c428

19.3.2任务头文件task.h428

19.3.3 includes.h文件429

19.3.4任务实现文件task.c430

19.4建立工程,编译和运行430

19.4.1建立工程源代码结构430

19.4.2建立文件组,导入源文件430

19.4.3编译执行431

参考文献432

热门推荐