第1章 嵌入式介紹 1
1.1 嵌入式概述 1
1.2 Cortex-M3芯片介紹 3
1.2.1 Cortex-M系列芯片分類 3
1.2.2 STM32F10x系列的命名規(guī)則 3
1.2.3 Cortex-M3芯片產品分類 4
1.2.4 STM32F103ZET6芯片內部資源 4
1.2.5 STM32F103ZET6內部結構 5
1.3 STM32F10x最小系統(tǒng) 6
1.4 嵌入式開發(fā)軟件安裝 7
1.4.1 編譯軟件安裝 7
1.4.2 驅動程序安裝 8
1.4.3 下載測試 9
課后資料 9
第2章 GPIO端口基本使用 10
2.1 STM32F10x芯片GPIO模塊介紹 10
2.2 STM32F10x芯片GPIO端口功能介紹 11
2.2.1 STM32F10x芯片GPIO端口功能 11
2.2.2 STM32F10x芯片GPIO端口內部框圖 11
2.2.3 STM32F10x芯片時鐘使能 13
2.2.4 STM32F10x芯片GPIO端口相關庫函數 14
2.3 GPIO模塊程序軟件設計(驅動LED) 18
思考 19
課后資料 19
第3章 C語言編程基礎 20
3.1 C語言體系介紹 20
3.1.1 C語言主要特點 20
3.1.2 嵌入式C程序基本結構 22
3.1.3 C語言編程規(guī)范 22
3.2 嵌入式C語言基本數據類型 23
3.3 數據常量和數據變量 25
3.4 C語言運算符與表達式 26
3.4.1 運算符與表達式的概念 26
3.4.2 邏輯運算符 27
3.4.3 位運算符 28
3.4.4 運算符優(yōu)先級 28
3.4.5 數據類型轉換運算 28
3.5 函數 29
3.5.1 函數模型 30
3.5.2 實際參數 30
3.5.3 函數應用 30
3.5.4 函數和變量的作用范圍 31
3.6 宏定義與模塊化編程 32
3.6.1 宏定義 32
3.6.2 條件編譯 32
3.6.3 模塊化編程 33
3.7 模塊化編程軟件設計 34
思考 37
課后資料 37
第4章 GPIO端口輸入模式 38
4.1 嵌入式C語言基本結構 38
4.1.1 順序結構 38
4.1.2 選擇結構 39
4.1.3 循環(huán)結構 41
4.1.4 轉移語句 43
4.2 嵌入式單片機輸入系統(tǒng) 44
4.2.1 單片機按鍵介紹 44
4.2.2 GPIO輸入功能程序設計 45
4.2.3 按鍵掃描程序設計 46
思考 49
課后資料 49
第5章 串口通信 50
5.1 通用USART通信介紹 50
5.1.1 通信的概述 50
5.1.2 串行通信分類 51
5.1.3 串行通信數據的傳輸速度 52
5.1.4 串行通信工作方式 53
5.1.5 串口發(fā)送數據的格式 53
5.2 STM32F10x芯片USART模塊介紹 53
5.2.1 STM32F10x芯片USART模塊概述 53
5.2.2 STM32F10x芯片USART模塊內部框圖 54
5.2.3 STM32F10x芯片USART模塊特征 56
5.3 STM32F10x外設管腳復用 57
5.4 STM32F10x芯片USART模塊相關庫函數 58
5.4.1 USART_Init函數 58
5.4.2 USART_Cmd函數 60
5.4.3 USART_ITConfig函數 60
5.4.4 USART_SendData函數 61
5.4.5 USART_ReceiveData函數 61
5.4.6 USART_GetFlagStatus函數 62
5.4.7 USART_ClearFlag函數 62
5.4.8 USART_GetITStatus函數 63
5.4.9 USART_ClearITPendingBit函數 63
5.5 USART模塊程序軟件設計 64
5.5.1 USART_1硬件設置 64
5.5.2 USART1模塊軟件設計 64
思考 68
課后資料 68
第6章 中斷系統(tǒng) 69
6.1 中斷介紹 69
6.1.1 中斷和中斷源的概念 69
6.1.2 中斷執(zhí)行過程 70
6.1.3 中斷使用的意義 70
6.1.4 中斷優(yōu)先級和中斷嵌套 71
6.2 STM32F10x中斷系統(tǒng)介紹 71
6.2.1 NVIC控制器介紹 71
6.2.2 STM32F10x異常向量表 72
6.2.3 STM32F10x中斷優(yōu)先級設置 75
6.3 STM32F10x中斷系統(tǒng)相關庫函數 75
6.3.1 NVIC_Init函數 75
6.3.2 NVIC_PriorityGroupConfig函數 76
6.4 中斷軟件示例 77
6.4.1 中斷服務函數編寫原則 77
6.4.2 NVIC中斷軟件設計 77
思考 79
課后資料 79
第7章 SysTick定時器 80
7.1 SysTick定時器介紹 80
7.1.1 SysTick定時器概述 80
7.1.2 STM32F10x系列SysTick定時器概述 80
7.1.3 SysTick定時器初始值計算 81
7.2 SysTick定時器相關庫函數 81
7.2.1 SysTick_CLKSourceConfig函數 82
7.2.2 SysTick_Config函數 82
7.2.3 SysTick定時器軟件設計 82
課后資料 85
第8章 LCD液晶顯示屏 86
8.1 LCD液晶顯示屏介紹 86
8.1.1 單片機常見顯示設備 86
8.1.2 LCD液晶顯示屏顯示系統(tǒng) 87
8.1.3 彩色LCD液晶顯示屏參數 87
8.1.4 ZZH Cortex-M開發(fā)板LCD模塊介紹 87
8.2 液晶顯示控制器(ILI9486) 88
8.2.1 ILI9486控制器協(xié)議介紹 88
8.2.2 ILI9486控制器顏色設置 89
8.2.3 ILI9486控制器初始化 90
8.2.4 ILI9486控制器控制命令 90
8.3 LCD液晶顯示屏字模軟件應用 92
8.4 LCD液晶顯示屏程序設計 95
課后資料 96
第9章 觸摸屏驅動 97
9.1 觸摸屏的工作原理和類型 97
9.2 觸摸屏控制芯片XPT2046 98
9.2.1 觸摸屏硬件連接 98
9.2.2 XPT2046控制器應用 98
9.3 觸摸屏校準 103
9.3.1 觸摸屏校準的目的和原理 103
9.3.2 觸摸屏校準步驟 103
9.3.3 觸摸屏軟件設計 104
課后資料 105
第10章 RTC實時時鐘 106
10.1 RTC實時時鐘介紹 106
10.1.1 RTC實時時鐘概念 106
10.1.2 RTC實時時鐘時間基準 107
10.1.3 常用RTC外設芯片 107
10.2 STM32F10x芯片RTC模塊介紹 107
10.2.1 STM32F10x芯片RTC模塊概述 107
10.2.2 STM32F10x芯片備份存儲器(BKP)介紹 108
10.2.3 STM32F10x芯片RTC模塊內部框圖 109
10.3 STM32F10x芯片RTC模塊相關庫函數 110
10.3.1 RTC_ITConfig函數 110
10.3.2 RTC_EnterConfigMod函數 110
10.3.3 RTC_ExitConfigMode函數 111
10.3.4 RTC_GetCounter函數 111
10.3.5 RTC_WaitForLastTask函數 111
10.3.6 RTC_SetCounter函數 111
10.3.7 RTC_SetPrescaler函數 112
10.3.8 RTC_ SetAlarm函數 112
10.3.9 RTC_WaitForSynchro函數 112
10.3.10 RTC_GetFlagStatus函數 112
10.3.11 RTC_ClearFlag函數 113
10.3.12 RTC_GetITStatus函數 113
10.3.13 RTC_ClearITPendingBit函數 113
10.3.14 BKP_ReadBackupRegister函數 114
10.3.15 BKP_WriteBackupRegister函數 114
10.3.16 PWR_BackupAccessCmd函數 114
10.3.17 RCC_LSEConfig函數 115
10.3.18 RCC_RTCCLKConfig函數 115
10.3.19 RCC_RTCCLKCmd函數 116
10.4 RTC軟件設計 116
課后資料 123
第11章 溫濕度傳感器 124
11.1 DHT11產品介紹 124
11.1.1 DHT11概述 124
11.1.2 應用領域 124
11.1.3 傳感器性能說明 125
11.1.4 測量分辨率 125
11.1.5 電氣特性 125
11.2 模塊接口說明 126
11.2.1 模塊連接電路圖 126
11.2.2 管腳說明 126
11.2.3 電源管腳 127
11.2.4 DHT11數據傳輸流程 127
11.2.5 主機復位信號和DHT11響應信號 127
11.2.6 DHT11數據表示方法 128
11.2.7 DHT11數據結構 129
11.3 DHT11軟件設計 129
課后資料 133
參考文獻 134
附錄 136
附錄A Cortex-M3開發(fā)板介紹 136
附錄A.1 Cortex-M3開發(fā)板資源圖 136
附錄A.2 Cortex-M3開發(fā)板資源介紹 136
附錄B C語言運算符優(yōu)先級 139