热门关键字:  新概念英语  听力密码  ABAQUS  新概念  零起点
图书信息

基于ARM Cortex-M4内核的物联网/嵌入式系统开发教程

中国水利水电出版社
    【作 者】主编 刘雯 【I S B N 】978-7-5170-6275-2 【责任编辑】周益丹 【适用读者群】本专通用 【出版时间】2018-02-05 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第1版第1次印刷 【页 数】240 【千字数】370 【印 张】15 【定 价】39 【丛 书】高等院校“十三五”精品规划教材 【备注信息】
图书详情

    本书主要内容包括:物联网技术的架构及应用;嵌入式系统的组成以及开发工具;Cortex-M4内核;STM32F401芯片的体系架构以及功能模块;基于STM32F401芯片的实例开发,包括GPIO、中断机制、串口通信、AD转换器、低功耗蓝牙、传感器模块、小型物联网系统和云服务系统最简模型等。

    本书面向物联网开发的初学者和大专院校电子科学与技术及通信类专业的学生。全书贯穿物联网核心内容—感知、通信、信息处理、端到云的拓展等组成部分,以应用最广的基于ARM的经典嵌入式设备为载体,结合应用需求,用浅显易懂的语言以及各种实例对嵌入式物联网开发的知识进行系统讲解,使读者快速上手,并且为以后的物联网开发打下坚实的基础。

    物联网技术(IoT)是新一代信息技术的重要组成部分,它将物理设备(传感器设备)与网络系统连接起来,并允许信息的全球共享。物联网在智能交通、智能电网、智能家居、智慧医疗以及工业和农业等多领域都有着广泛的应用,它与我们的生活越来越密不可分。随着云计算的发展,云服务在各个行业的应用迅速增加。物联网服务从端到云的拓展,大大提升了服务的可用性和可达性。同时,云端可以提供更多的已被设计完善、可共享或可定制的服务项目或引擎。对开发人员来说,学习物联网技术便是迫切的需求。嵌入式控制技术是物联网技术中重要的一环,而当前嵌入式开发相关教材众多,与物联网应用以及云服务紧密联系的教材有限,初学者想进行相应的学习在选择上有一定困难。

    本书依托北京邮电大学电子工程学院开设的基于ARM的物联网应用实验课程,力图在书中兼顾嵌入式开发的核心内容及基于物联网架构的典型应用实例,希望读者可以通过本书的实训实例,在掌握物联网的基本架构的同时,利用分立或集成的传感器、嵌入式设备等硬件,能按照自己身边的实际需求,搭建不同的物联网应用原型。

    本书的主要篇幅放在Cortex-M4内核、STM32F401芯片的体系架构以及相关功能模块和基于STM32F401芯片的实例开发上。其中实例部分包括GPIO、中断机制、串行通信、AD转换器、低功耗蓝牙、传感器模块、小型物联网系统和简单的云服务系统等,读者可以逐步了解到一个物联网架构从局部到整体的搭建过程。如果对相应基础知识有了深刻的认识,读者也可跳过相应章节进行第5章以后相应模块的学习。

    本书相关课程的开发得到了北京邮电大学电子工程学院提供的实践教学课程开发环境支持,感谢实验中心赵同刚主任和饶岚老师的支持。在本书编写过程中,ARM中国大学计划负责人陈炜博士在内容及章节安排上提供了建设性的意见,并在代码编写以及其他资料上给予了极大的帮助;ARM公司雷磊工程师在实验课程开发过程中提供了技术支持,他也作为副主编参与了物联网课程端到云部分的编撰工作;王梦馨助理提供了资料查询的帮助;同时感谢本书编辑杨庆川社长的大力支持。研究生莫耀凯、綦航、隋钰童、程倩倩和郑心雨等同学参与完成了的资料查找、文献翻译、代码调试以及校对工作。需要指出的是,本书的编写参考了大量的同类型教材以及相关技术论坛资料。在此对所有提到的单位和个人表示感谢。

    物联网技术发展迅速,加之时间仓促,本书难免存在缺漏和错误,恳请同行及广大读者批评指正。提出书中的问题以及索要相关实例与PPT文件请发邮件至qrswlw@163.com。

    编 者

    2017年11月

    第1章 嵌入式物联网开发绪论 1
    1.1 物联网的基本概念 1
    1.1.1 物联网的定义与特征 1
    1.1.2 物联网的应用 1
    1.2 物联网的体系架构 2
    1.2.1 感知层 2
    1.2.2 网络层 3
    1.2.3 应用层 4
    1.3 嵌入式系统 4
    1.3.1 嵌入式系统简介 4
    1.3.2 嵌入式系统的组成 5
    1.3.3 物联网与嵌入式系统的关系 8
    1.3.4 嵌入式系统开发软件—Keil 9
    1.3.5 物联网设备开发与Mbed 10
    参考资料 12
    第2章 ARM Cortex-M4技术 13
    2.1 背景概述 13
    2.2 核心技术 14
    2.2.1 内部架构 14
    2.2.2 内核比较 15
    2.2.3 Thumb-2指令集 17
    2.2.4 流水线技术 18
    2.2.5 寄存器 19
    2.2.6 工作模式 21
    2.2.7 异常 22
    参考资料 23
    第3章 STM32F401体系结构 25
    3.1 STM32F401架构 25
    3.1.1 片内结构 25
    3.1.2 功能单元描述 25
    3.2 封装与引脚说明 28
    参考资料 32
    第4章 STM32F401功能模块设计 34
    4.1 电源模块 34
    4.1.1 电源 34
    4.1.2 电源监控器 35
    4.1.3 低功耗模式 37
    4.1.4 电源控制寄存器 38
    4.2 复位模块 43
    4.2.1 系统复位 43
    4.2.2 电源复位 44
    4.2.3 备份域复位 44
    4.3 时钟管理模块 44
    4.3.1 HSE时钟 46
    4.3.2 HSI时钟 46
    4.3.3 PLL配置 47
    4.3.4 LSE时钟 47
    4.3.5 LSI时钟 47
    4.3.6 系统时钟(SYSCLK)选择 48
    4.4 定时器与看门狗 48
    4.4.1 高级控制定时器(TIM1) 48
    4.4.2 通用定时器(TIMx) 49
    4.4.3 独立看门狗(IWDG) 49
    4.4.4 窗口看门狗(WWDG) 50
    4.4.5 SysTick定时器 52
    4.5 内部存储器模块 52
    4.5.1 STM32F401内部存储空间 52
    4.5.2 Flash存储器 52
    4.5.3 RAM数据存储器 55
    参考资料 56
    第5章 通用I/O接口 57
    5.1 通用I/O功能描述 57
    5.1.1 GPIO端口 57
    5.1.2 输入输出多路复用器和映射 57
    5.1.3 I/O端口寄存器 58
    5.1.4 GPIO模式 59
    5.2 通用I/O配置寄存器 60
    5.2.1 GPIO端口模式寄存器(GPIOx_MODER) 60
    5.2.2 GPIO输出类型寄存器(GPIOx_OTYPER) 60
    5.2.3 GPIO端口输出速度寄存器(GPIOx_OSPEEDR) 61
    5.2.4 GPIO端口上拉下拉寄存器(GPIOx_PUPDR) 61
    5.2.5 GPIO端口输入数据寄存器(GPIOx_IDR) 62
    5.2.6 GPIO端口输出数据寄存器(GPIOx_ODR) 62
    5.2.7 GPIO端口比特置位复位寄存器(GPIOx_BSRR) 63
    5.2.8 GPIO端口配置锁存器(GPIOx_LCKR) 63
    5.2.9 GPIO复用功能低位寄存器(GPIOx_AFRL) 64
    5.2.10 GPIO复用功能高位寄存器(GPIOx_AFRH) 65
    5.2.11 RCC AHB1外设时钟使能寄存器(RCC_AHB1ENR) 66
    5.3 应用实例 66
    5.3.1 开发环境与实例说明 66
    5.3.2 Keil软件使用 68
    5.3.3 寄存器操作技巧 71
    5.3.4 GPIO实例代码 71
    5.3.5 测试结果及分析 73
    参考资料 73
    第6章 STM32F401中断机制 74
    6.1 中断控制 74
    6.1.1 基本概念 74
    6.1.2 中断优先级 74
    6.1.3 中断控制位 75
    6.1.4 中断过程 75
    6.1.5 外部中断/事件控制器(EXTI) 76
    6.1.6 外部中断/事件线映射 77
    6.2 中断控制寄存器 78
    6.2.1 NVIC寄存器 78
    6.2.2 EXTI寄存器 79
    6.3 应用实例 81
    6.3.1 开发环境与实例说明 81
    6.3.2 中断实例代码 82
    6.3.3 测试结果及分析 84
    参考资料 85
    第7章 STM32F401串行通信 86
    7.1 USART简介及主要功能 86
    7.2 USART功能描述 87
    7.2.1 USART结构 87
    7.2.2 USART字符描述 87
    7.2.3 发送器 89
    7.2.4 接收器 92
    7.2.5 多处理器通信 95
    7.2.6 LIN(局域互联网络)模式 96
    7.2.7 USART同步模式 97
    7.2.8 单线半双工通信 98
    7.3 应用实例 98
    7.3.1 开发环境与实例说明 98
    7.3.2 UART实例代码 99
    7.3.3 测试结果及分析 103
    参考资料 104
    第8章 STM32F401 AD转换器 105
    8.1 功能描述 105
    8.1.1 ADC介绍 105
    8.1.2 ADC功能描述 105
    8.2 ADC寄存器配置 112
    8.2.1 ADC状态寄存器(ADC_SR) 112
    8.2.2 ADC控制寄存器1(ADC_CR1) 114
    8.2.3 ADC寄存器2(ADC_CR2) 117
    8.2.4 ADC采样时间寄存器1(ADC_SMPR1) 120
    8.2.5 ADC采样时间寄存器2(ADC_SMPR2) 121
    8.2.6 ADC注入通道数据偏移寄存器(ADC_JOFRx)(x=1..4) 122
    8.2.7 ADC看门狗高阈值寄存器(ADC_HTR) 122
    8.2.8 ADC看门狗低阈值寄存器(ADC_LTR) 123
    8.2.9 ADC规则序列寄存器1(ADC_SQR1) 123
    8.2.10 ADC规则序列寄存器2(ADC_SQR2) 124
    8.2.11 ADC规则序列寄存器3(ADC_SQR3) 124
    8.2.12 ADC注入序列寄存器(ADC_JSQR) 125
    8.2.13 ADC注入数据寄存器x(ADC_JDRx)(x=1..4) 126
    8.2.14 ADC规则数据寄存器(ADC_DR) 126
    8.2.15 ADC通用控制寄存器(ADC_CCR) 126
    8.2.16 ADC寄存器映射 127
    8.3 应用实例 128
    8.3.1 开发环境与实例说明 128
    8.3.2 实例代码 128
    8.3.3 测试结果及分析 132
    参考资料 132
    第9章 STM32F401低功耗蓝牙 133
    9.1 功能描述 133
    9.1.1 蓝牙技术简介 134
    9.1.2 BlueNRG 142
    9.1.3 BALF-NRG-01D3 142
    9.2 蓝牙模块配置 143
    9.2.1 Mbed 143
    9.2.2 可能用到的函数 144
    9.2.3 程序框架 145
    9.3 应用实例 146
    9.3.1 开发环境与实例说明 146
    9.3.2 蓝牙实例代码 147
    9.3.3 测试结果及分析 149
    参考资料 149
    第10章 STM32F401传感器模块 151
    10.1 功能描述 151
    10.2 传感器模块配置 157
    10.2.1 传感器I2C地址的选择 157
    10.2.2 传感器的断开 157
    10.2.3 可能用到的函数 157
    10.2.4 程序框架 159
    10.3 应用实例 159
    10.3.1 开发环境与实例说明 159
    10.3.2 传感器模块实例代码 160
    10.3.3 测试结果及分析 161
    参考资料 161
    第11章 嵌入式物联网系统设计与实例 163
    11.1 传感器数据采集 163
    11.1.1 温度传感器 163
    11.1.2 温湿度传感器 163
    11.1.3 超声波传感器 164
    11.1.4 烟雾传感器 164
    11.1.5 声音传感器 165
    11.1.6 光敏传感器 165
    11.2 蓝牙气象站实例 165
    11.2.1 开发环境与实例说明 166
    11.2.2 蓝牙气象站实例代码 166
    11.2.3 测试结果及分析 177
    11.3 设计建议 177
    第12章 物联网和云 180
    12.1 物联网需要云 180
    12.1.1 云计算 180
    12.1.2 云计算的基本概念术语 180
    12.1.3 云计算的安全 188
    12.2 物联网与云的结合 189
    12.2.1 物联网的端到云 189
    12.2.2 物联网与云计算结合的模式分类 190
    12.2.3 物联网与云计算的分阶段融合 191
    12.2.4 物联网与云计算的结合优势 191
    12.2.5 物联网与云的结合实例 193
    12.3 使用Bluemix连接设备实例 195
    12.3.1 开发环境与实例说明 196
    12.3.2 测试结果及分析 202
    参考资料 203
    附录1 Keil软件使用详细教程 205
    附录2 Mbed编程实例代码 217
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册