ARM Cortex-M3 系統設計與實現 -- STM32 基礎篇, 2/e
內容描述
本書以STM32系列32位Flash MCU為例,以“藍橋杯”嵌入式設計與開發競賽訓練板為硬件平臺,以“一切從簡單開始”為宗旨,介紹ARM Cortex-M3系統的設計與實現。全書分為10章,第1章簡單介紹STM32 MCU和SysTick的結構;第2、3章以一個簡單的嵌入式系統設計為例,詳細介紹SysTick、GPIO和USART的應用設計;第4、5章分別介紹SPI和I2C的結構和設計實例;第6、7章分別介紹TIM和ADC的結構和設計實例;第8、9章分別介紹NVIC和DMA的結構和設計實例;第10章介紹競賽擴展板的使用。書後附有實驗指導,以方便實驗教學。
目錄大綱
第1章STM32 MCU簡介(1)
1.1 STM32 MCU結構(1)
1.2 STM32 MCU存儲器映像(2)
1.3 STM32 MCU系統時鍾樹(4)
1.3.1時鐘控制(5)
1.3.2時鐘配置(7)
1.3.3 APB2設備時鐘使能(11)
1.3.4 APB1設備時鐘使能(12)
1.3.5備份域控制(13)
1.3.6控制狀態(15)
1.4 Cortex-M3簡介(17)
第2章通用並行接口GPIO (21)
2.1 GPIO結構及寄存器說明(21)
2.2 GPIO庫函數說明(23)
2.3 GPIO設計實例(26)
2.3.1使用庫函數軟件設計(27)
2.3.2使用寄存器軟件設計( 31)
2.4 GPIO設計實現 (33)
2.4.1 Keil的安裝和使用(33)
2.4.2使用仿真器調試和運行目標
程序(35)
2.4.3使用調試器調試和運行目標
程序(42)
2.5 LCD使用(45)
第3章通用同步/異步收發器接口USART (50)
3.1 UART簡介(50)
3.2 USART結構及寄存器說明(51)
3.3 USART庫函數說明(54)
3.4 USART設計實例(56)
3.4.1 USART基本功能程序設計(57)
3.4.2與PC通信程序設計(59)
3.4.3用printf()實現通信程序
設計(63)
3.5 USART設計實現 (63)
3.5.1使用仿真器調試和運行目標
程序(65)
3.5.2使用調試器調試和運行目標
程序(68)
第4章串行設備接口SPI (70)
4.1 SPI結構及寄存器說明(70)
4.2 SPI庫函數說明(73)
4.3 SPI設計實例(76)
4.3.1 SPI基本功能程序設計(76)
4.3.2 SPI環回程序設計(78)
4.3.3 GPIO仿真SPI程序設計(79)
4.4 SPI設計實現 (80)
第5章內部集成電路總線接口I2C (84)
5.1 I2C結構及寄存器說明(84)
5.2 I2C庫函數說明(88 )
5.3 I2C設計實例(92)
5.3.1 I2C EEPROM庫函數說明(93)
5.3.2 I2C EEPROM庫函數程序
設計(95)
5.3.3 GPIO仿真I2C庫函數說明(97)
5.3.4 GPIO仿真I2C庫函數程序
設計(100)
5.4 I2C設計實現 (102)
5.4.1 I2C EEPROM庫函數程序
設計實現(102)
5.4.2 GPIO仿真I2C庫函數程序
設計實現(104)
第6章定時器TIM (107)
6.1 TIM結構及寄存器說明(107)
6.2 TIM庫函數說明(115)
6.3 TIM設計實例 (124)
6.3.1 1s定時程序設計(124)
6.3.2矩形波輸出程序設計(126)
6.3.3矩形波測量程序設計(129)
6.4實時鐘RTC (132)
6.4.1 RTC結構及寄存器說明(132)
6.4.2 RTC庫函數說明(134)
6.4.3 RTC程序設計(136)
第7章模數轉換器ADC (139)
7.1 ADC結構及寄存器說明(139)
7.2 ADC庫函數說明(145)
7.3 ADC設計實例 (151)
7.3 .1用ADC1規則通道實現外部
輸入模擬信號的模數轉換(151)
7.3.2用ADC1注入通道實現內部
溫度傳感器的溫度測量(154)
第8章嵌套向量中斷控制器NVIC (157)
8.1 NVIC簡介(157)
8.2 EXTI中斷(162)
8.3 USART中斷(167)
8.4 TIM中斷(169)
8.5 ADC中斷(171)
第9章直接存儲器存取DMA (173)
9.1 DMA簡介(173)
9.2 USART的DMA操作(177)
9.3 ADC的DMA操作(179)
第10章競賽擴展板的使用(182)
10.1數碼管的使用(182)
10.2 ADC按鍵的使用(183)
10.3濕度傳感器DHT11的使用(186)
10.4溫度傳感器DS18B20的使用(188)
10.5加速度傳感器LIS302DL的使用(194)
附錄A STM32庫函數(197)
附錄B STM32引腳功能(212)
附錄C CT117E嵌入式競賽訓練板簡介(224)
附錄D CT117E嵌入式競賽擴展板簡介(229)
附錄E ASCII碼表(233)
附錄FC語言運算符(234)
附錄G實驗指導(235)
實驗1 GPIO應用(235)
實驗2 USART應用(236)
實驗3 SPI應用(236)
實驗4 I2C應用(237)
實驗5 TIM應用(238)
實驗6 ADC應用(239)
實驗7 NVIC應用(240)
實驗8 DMA應用(240)
參考文獻(241)