出版時間:2012-2 出版社:北京航空航天大學(xué)出版社 作者:蒙博宇 頁數(shù):418
Tag標簽:無
內(nèi)容概要
《STM32自學(xué)筆記》以新穎的思路、簡單的邏輯、簡潔的語言來闡述作者初遇STM32以來的種種認識,書中多處內(nèi)容都是由作者從STM32初學(xué)時的實踐中總結(jié)而來。本書主要介紹ARM Cortex—M3系列STM32的原理及應(yīng)用,全書共7章。第1章主要對STM32做基本介紹;第2章介紹ARM Cortex—M3內(nèi)核架構(gòu)的大致概況;第3章從外設(shè)特性、功耗特性、安全特性等方面對STM32進行全面的剖析;第4章主要介紹開發(fā)工具;第5章則引導(dǎo)讀者針對STM32的外設(shè)進行一系列的基礎(chǔ)實驗設(shè)計;第6章通過10篇高級應(yīng)用文章介紹STM32的一些高級知識;第7章則通過一個綜合實例講述一個STM32完整應(yīng)用方案的實現(xiàn)過程。本書共享源代碼和相關(guān)資料,下載地址為http://bbs.cepark.CO ZTl和北京航空航天大學(xué)出版社“下載中心”?! ”緯鴹l理清楚,通俗易懂,貼近讀者,主要面向STM32的初學(xué)者,以及所有對ARM Cortex—M3系列微控制器感興趣的朋友們。
書籍目錄
第1章 什么是STM321
1.1從CortexM3說起1
1.2STM32面面觀3
第2章 杰出的源泉——ARM CortexM3內(nèi)核架構(gòu)8
2.1 ARM架構(gòu)回顧8
2.2 CortexM3 CPU:核心中的核心9
2.2.1管道9
2.2.2編程模型10
2.2.3 CortexM3 CPU的運行模式12
2.2.4 Thumb2指令集13
2.2.5非對齊存取接口13
2.3 CortexM3處理器——不只是個處理器14
2.3.1總線14
2.3.2總線矩陣14
2.3.3存儲映射15
2.3.4位帶的概念16
2.3.5系統(tǒng)節(jié)拍定時器18
2.3.6中斷處理18
2.3.7嵌套中斷向量控制器19
2.4低功耗的新期待25
2.4.1進入低功耗模式25
2.4.2 CoreSight調(diào)試組件26
第3章 歡迎來到STM32的世界28
3.1讓STM32跑起來28
3.1.1引腳分布和封裝尺寸28
3.1.2電源的供應(yīng)方案28
3.1.3復(fù)位電路29
3.1.4一個典型的STM32最小系統(tǒng)30
3.1.5時鐘源的選擇30
3.1.6啟動引腳和ISP編程31
3.1.7調(diào)試端口32
3.2認識真正的STM3232
3.2.1存儲區(qū)映射33
3.2.2性能最大化34
3.3豐富多樣的外部設(shè)備41
3.3.1通用設(shè)備單元41
3.3.2通信接口61
3.4 STM32也論低功耗66
3.4.1運行模式67
3.4.2幾種低功耗模式68
3.4.3調(diào)試支持特性70
3.5為STM32保駕護航71
3.5.1一些安全特性71
3.5.2復(fù)位控制71
3.5.3電源檢測72
3.5.4時鐘安全系統(tǒng)72
3.5.5看門狗73
3.5.6外設(shè)的安全特性76
3.6高性能內(nèi)置Flash模塊76
3.6.1內(nèi)置Flash安全特性和編程方法77
3.6.2選項字節(jié)77
第4章 百花齊放的開發(fā)工具79
4.1開發(fā)平臺79
4.2固件庫和協(xié)議棧80
4.3實時操作系統(tǒng)RTOS80
4.4 Keil MDK使用入門81
第5章STM32基礎(chǔ)實驗101
5.1先用GPIO來點個燈吧101
5.2簡約而不簡單的SysTick定時器114
5.3使用GPIO和SysTick定時器實現(xiàn)按鍵掃描121
5.4通過串口和PC說聲Hello129
5.5風(fēng)吹草動也不放過——NVIC和外部中斷140
5.6兩只忠誠的看門狗154
5.7 DMA——讓數(shù)據(jù)傳輸更上一層樓177
5.8 BKP寄存器與入侵檢測一廉價的掉電存儲與防拆解方案191
5.9利用RTC實現(xiàn)一個萬年歷204
5.10挑戰(zhàn)STM32的低功耗設(shè)計218
5.11 STM32有一雙眼睛叫ADC228
5.12通用定時器的應(yīng)用242
5.13嵌入式Flash的讀/寫275
5.14使用SPI接口實現(xiàn)自通信282
5.15 I2C接口自通信實驗298
5.16來認識一下CAN總線316
第6章STM32進階應(yīng)用335
6.1進階文章1:IAR EWARM的工程建立335
6.2進階文章2:STM32的時鐘樹343
6.3進階文章3:解析STM32的庫函數(shù)348
6.4進階文章4:在STM32平臺上實現(xiàn)CortexM3的位帶特性354
6.5進階文章5:解析STM32的啟動過程358
6.6進階文章6:環(huán)形緩沖區(qū)的實現(xiàn)366
6.7進階文章7:軟件定時器的設(shè)計372
6.8進階文章8:STM32的ISP下載379
6.9進階文章9:基于STM32標準外設(shè)固件庫v3.x的工程建立385
6.10進階文章10:使用I/O口實現(xiàn)模擬I2C接口389
第7章 綜合性實例:STM32的IAP方案395
附錄A 常用程序408
附錄B Typedef定義410
附錄C 本書硬件平臺介紹 411
參考文獻418
章節(jié)摘錄
版權(quán)頁:插圖:5.10.7 注意事項①在實際應(yīng)用中進行STM32的低功耗設(shè)計時,除了關(guān)注進入低功耗的方式、具體的功耗組成以及退出的方法之外,低功耗狀態(tài)的退出時間也應(yīng)該是開發(fā)人員所要重點關(guān)注的事項。②上述程序在STM32從低功耗模式恢復(fù)之后,并沒有再次對RCC寄存器組進行配置,為的是確認HSI是否真地被啟用為主時鐘了。但是實際應(yīng)用中,退出深度睡眠模式之后必須重新將RCC寄存器組配置為睡眠之前的狀態(tài),否則部分外設(shè)會因得不到正確的時鐘驅(qū)動而陷入混亂狀態(tài)。③在此解析一下“事件”與“中斷”的概念:“事件”指的是發(fā)生在某個設(shè)備上的某種現(xiàn)象,比如定時器溢出、看門狗復(fù)位、串口設(shè)備收到一個數(shù)據(jù)等。可以認為“中斷”是建立在“事件”發(fā)生的前提下,比如“定時器溢出”這一事件是客觀存在的,無論人的意愿如何,只要定時器計數(shù)寄存器的數(shù)值超出了上限,就會發(fā)生“定時器溢出”事件。但是是否由這一事件去請求“定時器溢出中斷”則是人為主觀控制的。簡而言之,沒有事件發(fā)生就不會發(fā)生中斷請求,有事件發(fā)生卻不一定發(fā)生中斷請求,因為人可以根據(jù)事件的發(fā)生選擇是否去觸發(fā)一次中斷服務(wù)。5.10.8 實驗結(jié)果建立并設(shè)置好工程,編輯好代碼之后按下F7進行編譯,將所有錯誤警告排除后(若存在)按下Ctrl+F5進行燒寫與仿真,然后按下F5全速運行,會依次看到如下現(xiàn)象:①接在GPIOA.4 上的LED以Is間隔閃爍,持續(xù)了3個輪回之后停止,LED保持在點亮的狀態(tài)。②此時按下GPIOA.O上連接的按鍵……③LED恢復(fù)閃爍,但頻率比第1點中描述的要慢得多。通過這些現(xiàn)象可以對應(yīng)獲取如下信息:●LED開始閃爍之后停止,并保持在點亮的狀態(tài),這說明STM32進入了低功耗模式,并且寄存器的值并沒有改變(因為燈是亮的)?!癜聪掳存I之后,觸發(fā)了EXTIO中斷?!窠又吹絃ED恢復(fù)閃爍,這說明STM32的確從低功耗模式喚醒了。而閃爍頻率明顯降低,說明STM32從低功耗模式恢復(fù)之后,是從進入低功耗語句之后開始恢復(fù)執(zhí)行的,而不是從程序起始處執(zhí)行,否則閃爍頻率不會降低。●此外閃爍頻率降低還說明,STM32的主時鐘不再是72MHz了。而根據(jù)前面的描述,此時的主時鐘應(yīng)該來自HSI,為8MHz。
編輯推薦
《STM32自學(xué)筆記》共享資料:《STM32自學(xué)筆記》共享源代碼和相關(guān)資料,下載地址為北京航空航天大學(xué)出版社“下載中心”。共享資料內(nèi)容索引如下:基礎(chǔ)實驗:該文件夾下包含了《STM32自學(xué)筆記》第5章“STM32基礎(chǔ)實驗”的所有源程序。進階應(yīng)用:該文件夾下包含了《STM32自學(xué)筆記》第6章“STM32進階應(yīng)用”的所有源程序。綜合性實驗:該文件夾下是《STM32自學(xué)筆記》第7章“綜合性實例:STM32的IAP方案”的源程序。硬件描述:該文件夾下包含《STM32自學(xué)筆記》所用CEPARKSTM32學(xué)習(xí)板的實物圖、原理圖和PCB圖。讀者對象:《STM32自學(xué)筆記》條理清楚,通俗易懂,貼近讀者,主要面向STM32的初學(xué)者,以及所有對ARMCortex-M3系列微控制器感興趣的朋友們。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載