圖書介紹 - 資料來源:博客來 目前評分: 評分:
圖書名稱:嵌入式系統多任務處理應用開發實戰:基於ARM MCU和FreeRTOS內核
內容簡介
本書講述了如何利用FreeRTOS多工處理內核讓ARM Cortex微控制器進行多工處理。本書還詳細講解了多工處理作業系統的各項特性,例如:調度、優先順序、郵箱、事件標誌和信號量等。本書的重要特色之一是使用非常流行的Clicker 2 for STM32開發板(你可以很輕鬆地換用其他型號的開發板)和FreeRTOS進行即時專案實戰。這些專案包括:LED以不同頻率閃爍、7段數碼管的刷新顯示、用不同任務控制各種感測器的移動機器人、獨立控制的多個伺服電機、多工處理的物聯網專案、具有獨立鍵盤輸入的溫度控制器、具有三項任務(啟動、發生器和顯示)的亂數發生器、家用報警系統以及泊車管理系統等等。
目錄
譯者序
前言
致謝
第1章 微型計算機系統 / 1
1.1 概述 / 1
1.2 微控制器系統 / 1
1.2.1 RAM / 4
1.2.2 ROM / 5
1.2.3 PROM / 5
1.2.4 EPROM / 5
1.2.5 EEPROM / 5
1.2.6 flash EEPROM / 5
1.3 微控制器的特點 / 6
1.3.1 供電電壓 / 6
1.3.2 時鐘 / 6
1.3.3 計時器 / 6
1.3.4 看門狗 / 6
1.3.5 復位輸入 / 7
1.3.6 中斷 / 7
1.3.7 欠電壓檢測器 / 7
1.3.8 模數轉換器 / 7
1.3.9 串列輸入/輸出 / 7
1.3.10 SPI和I2C / 8
1.3.11 LCD驅動器 / 8
1.3.12 模擬比較器 / 8
1.3.13 即時時鐘 / 8
1.3.14 睡眠模式 / 8
1.3.15 上電復位 / 8
1.3.16 低功率運行 / 9
1.3.17 灌電流/拉電流能力 / 9
1.3.18 USB介面 / 9
1.3.19 CAN介面 / 9
1.3.20 乙太網介面 / 9
1.3.21 Wi-Fi和藍牙介面 / 9
1.4 微控制器架構 / 9
1.5 小結 / 10
拓展閱讀 / 10
第2章 ARM微控制器架構 / 11
2.1 概述 / 11
2.2 ARM微控制器 / 11
2.2.1 Cortex-M / 13
2.2.2 Cortex-R / 14
2.2.3 Cortex-A / 14
2.2.4 Cortex-M處理器對比 / 14
2.2.5 Cortex-M 相容性 / 15
2.2.6 處理器性能測量 / 15
2.3 STM32F407VGT6微控制器 / 16
2.3.1 STM32F407VGT6的基本特點 / 16
2.3.2 內部模組示意圖 / 18
2.3.3 供電 / 20
2.3.4 低功耗模式 / 20
2.3.5 時鐘電路 / 20
2.4 通用輸入和輸出 / 24
2.5 嵌套向量中斷控制器 / 26
2.6 外部中斷控制器 / 26
2.7 計時器 / 26
2.8 模數轉換器 / 26
2.9 內置溫度感測器 / 27
2.10 數模轉換器 / 27
2.11 復位 / 27
2.12 電特性 / 27
2.13 小結 / 28
拓展閱讀 / 28
第3章 ARM Cortex微控制器開發板 / 29
3.1 概述 / 29
3.2 LPC1768 / 29
3.3 STM32 Nucleo系列 / 29
3.4 EasyMx PRO v7 for STM32 / 30
3.5 STM32F4DISCOVERY板 / 31
3.6 mbed應用板 / 31
3.7 EasyMx PRO v7 for Tiva / 32
3.8 MINI-M4 for STM32 / 33
3.9 Clicker 2 for MSP432 / 34
3.10 Tiva EK-TM4C123GXL
LaunchPad / 34
3.11 Fusion for ARM V8 / 35
3.12 Clicker 2 for STM32 / 35
3.13 小結 / 36
拓展閱讀 / 36
第4章 Clicker 2 for STM32開發板 / 37
4.1 概述 / 37
4.2 Clicker 2 for STM32硬體 / 37
4.2.1 板載LED / 38
4.2.2 板載按鍵開關 / 38
4.2.3 重定開關 / 38
4.2.4 供電 / 39
4.2.5 板載mikroBUS插座 / 39
4.2.6 輸入/輸出引腳 / 40
4.2.7 振盪器 / 41
4.2.8 板載微控制器程式設計 / 41
4.3 小結 / 42
拓展閱讀 / 42
第5章 ARM微控制器程式設計 / 43
5.1 概述 / 43
5.2 支援ARM微控制器的集成開發
環境 / 43
5.2.1 EWARM / 43
5.2.2 ARM Mbed / 44
5.2.3 MDK-ARM / 44
5.2.4 TrueStudio for STM32 / 45
5.2.5 System Workbench for
STM32 / 45
5.2.6 mikroC Pro for ARM / 45
5.3 小結 / 46
拓展閱讀 / 46
第6章 使用mikroC Pro for ARM程式設計 / 47
6.1 概述 / 47
6.2 mikroC Pro for ARM / 47
6.3 通用輸入/輸出庫 / 49
6.3.1 GPIO_Clk_Enable / 49
6.3.2 GPIO_Clk_Disable / 50
6.3.3 GPIO_Config / 50
6.3.4 GPIO_Set_Pin_Mode / 52
6.3.5 GPIO_Digital_Input / 53
6.3.6 GPIO_Digital_Output / 53
6.3.7 GPIO_Analog_Input / 53
6.3.8 GPIO_Alternate_Function_
Enable / 54
6.4 記憶體類型說明符 / 54
6.5 PORT輸入/輸出 / 54
6.6 按位訪問 / 55
6.7 bit資料類型 / 55
6.8 中斷和異常 / 55
6.8.1 異常 / 55
6.8.2 中斷服務程式 / 56
6.9 創建新項目 / 57
6.10 模擬 / 64
6.11 調試 / 66
6.12 其他mikroC IDE工具 / 67
6.12.1 ASCII表 / 67
6.12.2 GLCD點陣圖編輯器 / 68
6.12.3 HID終端 / 68
6.12.4 中斷助手 / 69
6.12.5 LCD定制字元 / 69
6.12.6 7段編輯器 / 69
6.12.7 UDP終端 / 69
6.12.8 USART終端 / 70
6.12.9 USB HID bootloader / 71
6.12.10 統計 / 71
6.12.11 庫管理器 / 72
6.12.12 編譯列表 / 73
6.12.13 輸出檔 / 73
6.12.14 選項視窗 / 73
6.13 小結 / 74
拓展閱讀 / 74
第7章 多工處理簡介 / 75
7.1 概述 / 75
7.2 多工處理內核的優勢 / 76
7.3 對即時操作系統的需求 / 76
7.4 任務調度演算法 / 77
7.4.1 協作調度 / 77
7.4.2 輪詢調度 / 82
7.4.3 搶佔調度 / 82
7.4.4 調度演算法的目標 / 83
7.4.5 搶佔調度與非搶佔調度之間的
區別 / 83
7.4.6 其他一些調度演算法 / 84
7.5 調度演算法的選擇 / 85
7.6 小結 / 85
拓展閱讀 / 85
第8章 FreeRTOS簡介 / 86
8.1 概述 / 86
8.2 FreeRTOS發行版本 / 87
8.3 從mikroElektronika網站進行
安裝 / 88
8.4 編寫專案檔案 / 89
8.5 FreeRTOS標頭檔路徑與原始檔案
路徑 / 90
8.6 編譯器大小寫敏感 / 91
8.7 編譯範本程式 / 92
8.8 小結 / 92
拓展閱讀 / 92
第9章 使用FreeRTOS函數 / 93
9.1 概述 / 93
9.2 FreeRTOS資料類型 / 93
9.3 FreeRTOS變數命名 / 94
9.4 FreeRTOS函數命名 / 94
9.5 常用巨集定義 / 94
9.6 任務狀態 / 94
9.7 與任務相關的函數 / 96
9.7.1 創建新任務 / 96
9.7.2 延遲任務 / 97
9.7.3 項目1—讓LED每秒閃爍
1次 / 97
9.7.4 項目2—讓一個LED每秒閃
爍1次,另一個LED每200ms
閃爍1次 / 100
9.7.5 掛起任務 / 102
9.7.6 讓掛起的任務恢復執行 / 102
9.7.7 項目3—掛起和恢復任務 / 103
9.7.8 刪除任務 / 105
9.7.9 項目4—讓LED閃爍並刪除
任務 / 105
9.7.10 獲取任務控制碼 / 107
9.7.11 定時執行 / 108
9.7.12 滴答計數 / 108
9.7.13 專案5—利用函數vTask-
DelayUntil()讓LED閃爍 / 108
9.7.14 任務優先順序 / 110
9.7.15 項目6—讓LED閃爍和切
換不同優先順序的按鍵開關 / 111
9.7.16 項目7—獲取/設置任務優
先級 / 113
9.8 使用液晶顯示幕 / 114
9.8.1 HD44780 LCD模組 / 115
9.8.2 連接LCD與Clicker 2 for STM32
開發板 / 116
9.8.3 LCD函數 / 116
9.8.4 項目8—在LCD上
顯示文本 / 117
9.9 任務名稱、任務數量及滴答計數 / 119
9.10 專案9—在LCD上顯示任務
名稱、任務數量及滴答計數 / 120
9.11 轉而執行另一個優先順序相同的
任務 / 122
9.12 取消延遲 / 123
9.13 項目10—7段2位多工LED
顯示幕計數器 / 123
9.14 項目11—7段4位多工LED
顯示幕計數器 / 129
9.15 項目12—7段4位多工LED
顯示幕事件計數器 / 135
9.16 專案13—交通燈控制器 / 136
9.17 項目14—改變LED
閃爍頻率 / 144
9.18 專案15—通過USB串口向PC
發送資料 / 148
9.19 專案16—用PC鍵盤改變LED
閃爍頻率 / 154
9.20 任務列表 / 156
9.21 專案17—在PC螢幕上顯示
任務列表 / 157
9.22 任務資訊 / 159
9.23 專案18—在PC螢幕上顯示
任務資訊 / 160
9.24 任務狀態 / 162
9.25 專案19—在PC螢幕上顯示
任務狀態 / 163
9.26 任務參數 / 165
9.27 小結 / 165
拓展閱讀 / 165
第10章 佇列管理 / 166
10.1 全域變數概述 / 166
10.2 為何是佇列 / 166
10.3 創建佇列並利用佇列發送和接
收數據 / 167
10.4 專案20—用PC鍵盤改變LED
閃爍頻率 / 169
10.5 刪除佇列、為佇列命名、重置
佇列 / 172
10.6 專案21—使用各種佇列函數 / 173
10.7 其他一些佇列函數 / 175
10.8 專案22—開關式溫度控制器 / 176
10.9 小結 / 185
拓展閱讀 / 185
第11章 信號量和互斥量 / 186
11.1 概述 / 186
11.2 創建二進位信號量和互斥量 / 187
11.3 創建計數型信號量 / 187
11.4 刪除信號量並獲取信號量計數 / 188
11.5 釋放和佔用信號量 / 188
11.6 項目23—向PC發送內部和
外部溫度資料 / 189
11.7 小結 / 194
拓展閱讀 / 194
第12章 事件組 / 195
12.1 概述 / 195
12.2 事件標誌和事件組 / 195
12.3 創建和刪除事件組 / 196
12.4 設置、清除、等待事件組位以及
獲取事件組位 / 196
12.5 項目24—向PC發送內部和外
部溫度資料 / 198
12.6 專案25—控制LED的閃爍 / 202
12.7 項目26—基於GPS的項目 / 205
12.8 小結 / 212
拓展閱讀 / 212
第13章 軟體計時器 / 213
13.1 概述 / 213
13.2 創建、刪除、啟動、停止和重置
計時器 / 214
13.3 修改和獲取計時器週期 / 216
13.4 計時器名稱和ID / 217
13.5 項目27—反應計時器 / 217
13.6 項目28—生成方波 / 220
13.7 項目29—事件計數器(例如
頻率計數器) / 222
13.8 小結 / 225
拓展閱讀 / 225
第14章 一些示例項目 / 226
14.1 概述 / 226
14.2 專案30—生成頻率可調節的
方波 / 226
14.3 專案31—掃頻波形發生器 / 230
14.4 項目32—RGB燈光控制器 / 233
14.5 專案33—帶鍵盤的家庭報警
系統 / 236
14.6 項目34—帶蜂鳴器的超聲波
泊車 / 244
14.7 專案35—步進電機專案 / 251
14.8 項目36—與Arduino通信 / 262
14.9 小結 / 267
拓展閱讀 / 267
第15章 空閒任務和空閒任務鉤子 / 268
15.1 概述 / 268
15.2 空閒任務 / 268
15.3 空閒任務鉤子函數 / 268
15.4 專案37—顯示空閒處理器
詳細資料
ISBN:9787111718130 規格:平裝 / 412頁 / 19 x 26 x 2.06 cm / 普通級 / 1-1 出版地:中國
作者:周姚萍
出版社:五南圖書出版股份有限公司
出版日期:2018-08-28
66折: $ 198
作者:范毅舜
出版社:積木文化
出版日期:2015-05-30
66折: $ 845
作者:艾克哈特.托勒
出版社:橡實
出版日期:2023-04-06
66折: $ 898
作者:塔納哈希.科茨
出版社:衛城出版
出版日期:2019-09-11
66折: $ 297
作者:周冠男
出版社:天下文化
出版日期:2024-07-31
$ 355
作者:軌道鞅
出版社:玩股網有限公司
出版日期:2024-11-01
$ 316
作者:龍幸伸
出版社:東立
出版日期:2022-12-08
$ 89
作者:田地野彰
出版社:國際學村
出版日期:2022-04-14
$ 261
作者:備前やすの
出版社:台灣角川股份有限公司
出版日期:2024-11-07
$ 111
作者:懷觀
出版社:圓神出版社有限公司
出版日期:2024-11-01
$ 999
$ 110
作者:Daemi
出版社:平心出版(欣燦連)
出版日期:2024-11-14
$ 593