基于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文件請發郵件至[email protected]。
編 者
2017年11月
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
- 零基礎玩轉國產大模型DeepSeek [徐永冰 張帥 編著]
- 網絡工程師5天修煉(適配第6版考綱) [主編 朱小平 施游]
- 信息系統項目管理師考試32小時通關(適用第4版考綱) [薛大龍]
- 信息系統管理工程師考試32小時通關(適配第2版考綱) [薛大龍 劉偉]
- 土木工程材料檢測實訓 [洪曉江 達則曉麗 錢波]
- 科技信息檢索與論文寫作實用教程 [李振華]
- 傳統山水畫論解讀與實踐 [陳鈉 著]
- Python數據庫編程 [主編 殷樹友 邢 翀]
- 計算機基礎實訓指導 [主編 袁春萍 朱妮]
- 嵌入式人工智能技術應用(數字教材) [主編 胡娜 楊國勇 晏廷榮]
- Vienna整流器技術 [桂存兵 著]
- 變頻器與伺服應用 [陳剛 葉云飛]
- 物聯網工程設計與實踐 [湯琳 李敏]
- 爐邊夜話——深入淺出話AI [汪建 著]
- 電商運營與管理 [鐘肖英 陳瀟]
- Java面向對象程序設計 [主編 姜春磊 陳虹潔]
- 信息技術基礎(Windows 10+WPS Office)(微課版) [主編 石利平 田輝平 謝盛嘉]
- 人工智能應用 [主編 陳 萍 劉培培 陳孟軍]
- 大學生職業發展與就業指導 [主編 劉志堅]
- 高級辦公應用項目教程 [主編 屈晶 趙成麗]
- 微信小程序開發項目實戰(微課版) [主編 黃龍泉 郭峰 朱倩]
- 企業檔案工作實戰寶典百問百答 [華俊 盧秀英 邵甜甜 著]
- 計算機網絡原理及應用 [主編 唐繼勇 葉坤 孫夢娜]
- 大學生創業基礎 [主編 王麗莉 王 楊]
- 船舶輔機 [主編 王連海 于洋 姜淑翠]
- 大學生就業指導 [主編 王麗莉 董宴廷]
- 系統架構設計師章節習題與考點特訓 [主編 薛大龍 鄒月平]
- 高校學生工作探索與實踐 [郭亮 著]
- 大學生情商管理 [方雄 著]
- 2023年長沙市會展業發展報告 [主編 周棟良]