• 跟工程师学嵌入式开发
21年品牌 40万+商家 超1.5亿件商品

跟工程师学嵌入式开发

全新正版 极速发货

49.92 5.7折 88 全新

库存2件

广东广州
认证卖家担保交易快速发货售后保障

作者谭贵,易确,熊立宇 编著

出版社电子工业出版社

ISBN9787121327254

出版时间2017-10

装帧平装

开本16开

定价88元

货号1201591782

上书时间2024-11-23

书香美美

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
作者简介
谭贵,男,北京大学计算机科学与技术学士毕业,现供职于富士康科技集团,热爱嵌入式开发技术,精通C、Java语言,Tcl和bash脚本应用;熟悉从MCU裸板外设驱动开发和uCosII实时操作系统的移植,以及基于Linux系统的嵌入式应用开发。

目录
第1章开发利器:STM32库和MDKKeil1
1.1学习启航:闪烁的跑马灯1
1.1.1实验结果呈现1
1.1.2实验分析2
1.1.3配置GPIO引脚5
1.1.4实验控制逻辑6
1.2STM32库结构和CMSIS标准8
1.2.1STM32库层次结构9
1.2.2CMSIS层次结构9
1.2.3STM32库结构中的文件关系10
1.2.4STM32库函数命名规则13
1.2.5STM32库常见的几个状态类型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.2STM32功能框架27
2.2.1系统组成27
2.2.2总线单元及挂接设备28
2.3STM32存储器映射29
2.3.1独立编址30
2.3.2统一编址(存储器映像编址)31
2.3.3CM3外设地址空间映射32
2.3.4地址空间映射详解34
2.4STM32时钟结构39
2.4.1STM32F103ZET6的时钟树39
2.4.2时钟树二级框架40
2.4.3时钟启用过程41
2.5系统时钟树与地址空间映射的关系43
第3章STM32系统启动过程分析44
3.1CM3的复位序列44
3.1.1堆栈45
3.1.2向量表47
3.2STM32启动代码分析49
3.3STM32系统时钟初始化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章通用GPIO操作68
4.1实验结果预览:LED跑马灯68
4.2GPIO基本知识68
4.2.1GPIO分组管理及其引脚69
4.2.2GPIO工作模式及其配置69
4.2.3GPIO引脚的写入和读出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.1Cortex-M3的异常向量91
5.2.2异常向量表92
5.3NVIC与中断控制93
5.3.1NVIC简述93
5.3.2NVIC与外部中断93
5.3.3NVIC中断的优先级94
5.3.4NVIC初始化95
5.4EXTI基本知识97
5.4.1EXTI简介97
5.4.2EXTI控制器组成结构97
5.4.3GPIO引脚到EXTI_Line的映射100
5.4.4EXTI_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.2USART基本知识117
6.2.1串行异步通信协议117
6.2.2USART与接口标准RS-232118
6.3STM32USART结构119
6.3.1USART工作模式119
6.3.2精简的USART结构119
6.3.3USART单字节收发过程120
6.4USART寄存器位功能定义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.7USART模块寄存器组125
6.4.8USART模块初始化函数126
6.4.9USART常用函数功能说明127
6.5USART实验代码分析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.4Shell外壳145
7.4.1Shell命令管理结构146
7.4.2Shell命令解析过程147
7.4.3命令函数之参数解析150
7.5建立工程,编译和运行151
7.5.1创建和配置工程151
7.5.2编译执行153
第8章I2C接口154
8.1实验结果预览:轮询写入/读出EEPROM数据154
8.2I2C总线协议155
8.2.1总线特点155
8.2.2I2C应用结构155
8.2.3总线信号时序分析156
8.3STM32I2C模块158
8.3.1I2C组成框图158
8.3.2I2C主模式工作流程159
8.3.3I2C中断及DMA请求161
8.4I2CEEPROM读写示例及分析162
8.4.1示例电路连接162
8.4.2app.c文件中的main()函数163
8.4.3eeprom.h文件166
8.4.4eeprom.c文件167
8.4.5shell.c文件174
8.5建立工程,编译及运行175
8.5.1创建和配置工程175
8.5.2编译执行176
第9章DMA接口177
9.1实验结果预览177
9.2通用DMA的作用及特征178
9.3STM32DMA基本知识178
9.3.1DMA与系统其他模块关系图178
9.3.2STM32DMA组成179
9.4实验示例分析183
9.4.1main.c文件中的main()函数184
9.4.2USART1的初始化184
9.4.3DMA通道中断处理函数189
9.4.4sysTick中断处理函数190
9.4.5DMA通道配置的其他寄存器191
9.4.6DMA用户测试命令及其执行函数192
9.5建立工程,编译和执行193
9.5.1建立以下工程文件夹194
9.5.2创建文件组和导入源文件194
9.5.3编译运行194
第10章实时时钟RTC195
10.1实验结果预览195
10.2STM32RTC模块196
10.2.1STM32后备供电区域196
10.2.2RTC组成199
10.3RTC实验设计与源码分析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
10.4.3编译执行213
第11章系统定时器SysTick214
11.1SysTick简述214
11.2SysTick工作过程214
11.3SysTick寄存器位功能定义215
11.3.1控制和状态寄存器:STK_CTRL215
11.3.2重载寄存器:STK_LOAD216
11.3.3当前计数值寄存器:STK_VAL217
11.3.4校正寄存器:STK_CALIB217
11.3.5SysTick模块寄存器组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.5.3编译运行226
第12章SPI接口227
12.1实验现象预览:轮询写入/读出SPIFlash数据227
12.2SPI总线协议228
12.2.1总线信号及其应用结构228
12.2.2SPI内部结构与工作原理229
12.3STM32SPI模块231
12.3.1SPI组成框图231
12.3.2STM32SPI主模式数据收发过程232
12.3.3SPI中断及DMA请求234
12.4W25Q128FV规格说明234
12.4.1W25Q128FV状态和控制管理235
12.4.2W25Q128FV常用指令236
12.5程序入口与SPI初始化代码237
12.5.1实验硬件资源237
12.5.2工程入口文件main.c238
12.5.3spiflash.c文件中的spiFlash_Init()函数239
12.6SPIFlash测试代码分析243
12.6.1spiflash.c文件中的SPIFlash测试函数spiTest()244
12.6.2SPIFlashID读取函数sFLASH_readID()245
12.6.3扇区擦除函数sFLASH_eraseSector()246
12.6.4Flash页写函数sFLASH_writePage()246
12.6.5Flash读函数sFLASH_readBuffer()247
12.6.6Flash字节发送函数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.2ENC28J60知识257
13.2.1ENC28J60概述257
13.2.2控制寄存器259
13.2.3以太网缓冲器260
13.2.4PHY寄存器261
13.2.5ENC28J60SPI指令集261
13.2.6ENC28J60初始化263
13.2.7使用ENC28J60收发数据268
13.2.8ENC28J60驱动代码总结272
13.3uIP协议栈简介274
13.3.1uIP特性274
13.3.2uIP应用接口275
13.3.3uIP的初始化及配置函数277
13.3.4uIP的主程序循环277
13.4uIP移植分析279
13.4.1下载uIP1.0版源码文件279
13.4.2理解两个中间层文件与应用层和协议层之间的关系280
13.4.3添加uIP协议栈后的工程文件组285
第14章综合示例:基于uIP的Telnet服务286
14.1实验现象预览286
14.2Telnet远程登录协议287
14.2.1Telnet概述287
14.2.2Telnet协议主要技术288
14.2.3Telnet命令288
14.3Telnetd服务框架及实现290
14.3.1本实验Telnetd服务框架290
14.3.2Telnetd服务框架的实现291
14.4上层应用与uIP协议的接口:telnetd_appcall()304
14.5建立工程,编译和运行309
14.5.1创建和配置工程309
14.5.2编译执行311
第15章SDIO总线协议与SD卡操作312
15.1SD卡简介312
15.1.1SD卡家族312
15.1.2SD卡引脚功能定义313
15.1.3SD卡内部组成314
15.1.4SD卡容量规格315
15.1.5SDIO接口规范和总线应用拓扑315
15.2SD协议316
15.2.1工作模式与状态316
15.2.2命令和响应格式316
15.2.3卡识别模式317
15.2.4数据传输模式320
15.3STM32SDIO控制器322
15.3.1控制器总体结构描述322
15.3.2SDIO适配器模块323
15.3.3SDIOAHB接口325
15.4工程入口及配置326
15.4.1实验硬件资源326
15.4.2工程入口文件main.c327
15.5SDIO初始化328
15.5.1SD卡上电初始化函数SD_PowerON()330
15.5.2SD卡规格信息获取函数SD_InitializeCards()336
15.6SDIO卡测试代码分析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.7.3编译执行349
第16章移植文件系统FatFs350
16.1实验现象预览:基于Shell的文件系统命令350
16.2FatFs文件系统351
16.2.1FatFs特点351
16.2.2FatFs在设备系统中的层次与接口351
16.3移植FatFs文件系统352
16.3.1FatFs源代码结构352
16.3.2基于FatFs应用的常用数据类型说明353
16.3.3FatFs的移植355
16.4FatFs文件系统应用示例分析357
16.4.1工程源代码逻辑357
16.4.2工程源代码分析358
16.5建立工程,编译和运行363
16.5.1创建和配置工程363
16.5.2编译执行364
第17章无线接入:Wi-Fi模块ESP8266应用365
17.1无线技术标准:IEEE802.11365
17.1.1IEEE802.11简介365
17.1.2无线局域网的组网拓扑366
17.1.3无线接入过程的三个阶段367
17.2ESP-WROOM-02模组368
17.2.1ESP-WROOM-02性能参数368
17.2.2ESP-WROOM-02与主机系统的电路连接369
17.3ESP-WROOM-02指令集370
17.3.1ESP8266AT常用指令370
17.3.2使用ESP-WROOM-02进行真实通信373
17.4封装ESP-WROOM-02的配置函数375
17.4.1ESP-WROOM-02的初始化函数375
17.4.2ESP-WROOM-02的配置函数377
17.4.3优化USART接收缓存的数据结构379
17.4.4ESP-WROOM-02的Shell操作命令381
17.5建立工程,编译和运行384
17.5.1工程程序文件384
17.5.2创建和配置工程384
17.5.3编译执行385
第18章移植μC/OS-III操作系统387
18.1μC/OS-III基础387
18.1.1μC/OS-III简介387
18.1.2μC/OS-III内核组成架构388
18.2μC/OS-III任务基础390
18.2.1任务状态390
18.2.2任务控制块和就绪任务表391
18.2.3创建任务391
18.2.4任务同步与通信393
18.3μC/OS-III的信号量393
18.3.1信号量分类及其应用393
18.3.2信号量工作方式394
18.3.3信号量应用操作步骤396
18.4μC/OS-III的消息队列396
18.4.1消息队列工作模型397
18.4.2消息队列应用操作步骤397
18.5μC/OS-III的事件标志组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-III移植410
18.7.1μC/OS-III源码组织架构410
18.7.2简化μC/OS-III源码组织架构411
18.7.3建立基于μC/OS-III的工程412
18.7.4μC/OS-III综合示例运行效果414
第19章基于μC/OS-III的信息系统415
19.1系统功能描述415
19.1.1系统任务划分415
19.1.2系统实际运行效果415
19.2系统任务设计分析417
19.2.1Shell任务417
19.2.2LED灯闪烁任务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.3includes.h文件429
19.3.4任务实现文件task.c430
19.4建立工程,编译和运行430
19.4.1建立工程源代码结构430
19.4.2建立文件组,导入源文件430
19.4.3编译执行431
参考文献432

内容摘要
本书选用的STM32芯片基于ARM Cortex-M3体系结构,根据基于MCU的嵌入式技术实际应用需求,合理地选择了多种常用的重要外设接口,如USART、SPI、I2C、FSCM、SDIO总线、以太网等,结合丰富的实例及工程源代码,由浅入深、系统全面地介绍嵌入式系统的底层工作原理。在此过程中,通过穿插多个综合示例的讲解,如命令行外壳程序Shell、eFat文件系统、Telnet远程控制、μC/OS-III实时操作系统的移植过程,无论是嵌入式的初学者,还是有一定开发经验的工程师都能从中获益,使读者既能系统全面地掌握嵌入式开发所需的软硬件知识,又能锻炼他们的综合开发能力,为将来从事嵌入式开发方面的工作奠定坚实的基础。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP