3dwoo大學簡體電腦書店
Cortex-M3嵌入式系統開發——STM32單片機體系結構、編程與項目實戰(微課視頻版
( 簡體 字)
作者:姜付鵬、劉通、王英合類別:1. -> 電腦組織與體系結構 -> 單晶片 -> STM32
出版社:清華大學出版社Cortex-M3嵌入式系統開發——STM32單片機體系結構、編程與項目實戰(微課視頻版 3dWoo書號: 56194
詢問書籍請說出此書號!
有庫存
NT售價: 395
出版日:1/1/2023
頁數:325
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787302610335 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1篇入門篇
第1章ARM及CortexM3概述
1.1ARM概述
1.1.1ARM公司
1.1.2RISC
1.1.3ARM微處理器
1.1.4ARM微處理器內核及其架構的發展簡史
1.2CortexM3內核
1.2.1Cortex內核的分類
1.2.2CM3內核的特點
1.2.3CM3內核的指令集
本章小結
第2篇準備篇
第2章天信通STM32F107開發板
2.1STM32系列MCU
2.2STM32F107芯片
2.3STM32F107開發板資源
本章小結
第3章MDK開發環境
3.1STM32官方固件庫
3.1.1庫開發與寄存器開發
3.1.2CMSIS
3.1.3STM32官方固件庫包
3.2MDK5簡介
3.3MDK5的安裝
3.3.1MDK5的安裝步驟
3.3.2MDK5的注冊
3.4基于固件庫新建工程模板
3.5程序的下載和調試
3.5.1程序的下載
3.5.2程序的調試
本章小結
第4章STM32基礎知識簡介
4.1STM32的系統架構
4.2STM32的時鐘系統
本章小結
第3篇詳解篇
第5章GPIO端口及其應用
5.1GPIO端口概述
5.2GPIO端口的相關寄存器
5.2.1端口配置低寄存器
5.2.2端口配置高寄存器
5.2.3端口輸入數據寄存器
5.2.4端口輸出數據寄存器
5.2.5端口位設置/清除數據寄存器
5.2.6端口位清除數據寄存器
5.3GPIO端口的相關庫函數
5.3.1GPIO_Init()函數
5.3.2GPIO_SetBits()函數和GPIO_ResetBits()函數
5.3.3GPIO_Write()函數和GPIO_WriteBit()函數
5.3.4GPIO_ReadInputDataBit()函數、GPIO_ReadInputData()函數、
GPIO_ReadOutputDataBit()函數和
GPIO_ReadOutputData()函數
5.3.5GPIO_DeInit()函數
5.4GPIO端口的應用實例
5.4.1流水燈
5.4.2按鍵控制LED
本章小結
第6章寄存器的名稱和地址的映射關系及位帶操作
6.1寄存器的名稱和地址的映射關系
6.2位帶操作
6.2.1位帶操作概述
6.2.2位帶操作應用實例
本章小結
第7章NVIC與中斷管理
7.1CM3的異常及其優先級管理
7.2NVIC概述
7.3NVIC相關的寄存器
7.3.1中斷使能寄存器組和中斷失能寄存器組
7.3.2中斷掛起寄存器組和中斷解掛寄存器組
7.3.3中斷激活標志位寄存器組
7.3.4中斷優先級寄存器組
7.4NVIC相關的庫函數
7.4.1NVIC_PriorityGroupConfig()函數
7.4.2NVIC_Init()函數
本章小結
第8章EXTI控制器及其應用
8.1EXTI控制器概述
8.2EXTI相關的寄存器
8.2.1中斷屏蔽寄存器
8.2.2事件屏蔽寄存器
8.2.3上升沿觸發選擇寄存器
8.2.4下降沿觸發選擇寄存器
8.2.5軟件中斷事件寄存器
8.2.6掛起寄存器
8.3EXTI相關的庫函數
8.3.1GPIO_EXTILineConfig()函數
8.3.2EXTI_Init()函數
8.3.3EXTI的中斷處理函數
8.3.4EXTI_GetITStatus()函數和EXTI_ClearITPendingBit()函數
8.3.5EXTI_GetFlagStatus()函數和EXTI_ClearFlag()函數
8.4EXTI外部中斷的應用實例
本章小結
第9章SysTick定時器及其應用
9.1SysTick定時器概述
9.2SysTick定時器相關的寄存器
9.2.1SysTick控制及狀態寄存器
9.2.2SysTick重裝載數值寄存器
9.2.3SysTick當前數值寄存器
9.3SysTick定時器相關的庫函數
9.3.1SysTick_CLKSourceConfig()函數
9.3.2SysTick_Config()函數
9.4SysTick定時器的應用實例
9.4.1中斷方式實現定時
9.4.2查詢方式實現定時
本章小結
第10章USART及其應用
10.1串行通信基礎知識簡介
10.1.1異步通信和同步通信
10.1.2串行通信的數據傳輸方向
10.1.3串行通信的數據傳輸速率
10.1.4串行通信的錯誤校驗
10.2USART概述
10.3USART相關的寄存器
10.3.1狀態寄存器
10.3.2數據寄存器
10.3.3波特率寄存器
10.3.4控制寄存器1
10.4USART相關的庫函數
10.4.1USART_Init()函數
10.4.2USART_DeInit()函數
10.4.3USART_Cmd()函數
10.4.4USART_ITConfig()函數
10.4.5USART_SendData()函數
10.4.6USART_ReceiveData()函數
10.4.7USART_GetITStatus()函數和USART_GetFlagStatus()函數
10.4.8USART_ClearITPendingBit()函數和
USART_ClearFlag()函數
10.5端口引腳的復用功能
10.5.1端口引腳復用功能的概念
10.5.2調用庫函數實現端口引腳的復用功能
10.6USART的應用實例
本章小結
第11章獨立看門狗及其應用
11.1看門狗概述
11.2IWDG概述
11.3IWDG相關的寄存器
11.3.1鍵寄存器(IWDG_KR)
11.3.2預分頻寄存器(IWDG_PR)
11.3.3重裝載寄存器(IWDG_RLR)
11.4IWDG相關的庫函數
11.4.1IWDG_WriteAccessCmd()函數
11.4.2IWDG_SetPrescaler()函數
11.4.3IWDG_SetReload()函數
11.4.4IWDG_ReloadCounter()函數
11.4.5IWDG_Enable()函數
11.5IWDG的應用實例
本章小結
第12章窗口看門狗及其應用
12.1WWDG概述
12.2WWDG相關的寄存器
12.2.1控制寄存器(WWDG_CR)
12.2.2配置寄存器(WWDG_CFR)
12.2.3狀態寄存器(WWDG_SR)
12.3WWDG相關的庫函數
12.3.1WWDG_SetPrescaler()函數
12.3.2WWDG_SetWindowValue()函數
12.3.3WWDG_EnableIT()函數
12.3.4WWDG_SetCounter()函數
12.3.5WWDG_Enable()函數
12.3.6WWDG_GetFlagStatus()函數
12.3.7WWDG_ClearFlag()函數
12.4WWDG的應用實例
本章小結
第13章通用定時器及其應用1
13.1通用定時器概述
13.2中斷定時相關的寄存器
13.2.1計數器當前值寄存器
13.2.2預分頻器寄存器
13.2.3自動重裝載寄存器
13.2.4控制寄存器1
13.2.5DMA/中斷使能寄存器
13.2.6狀態寄存器
13.3中斷定時相關的庫函數
13.3.1TIM_TimeBaseInit()函數
13.3.2TIM_ITConfig()函數
13.3.3TIM_Cmd()函數
13.3.4TIM_GetITStatus()函數
13.3.5TIM_ClearITPendingBit()函數
13.4中斷定時的應用實例
本章小結
第14章通用定時器及其應用2
14.1通用定時器捕獲/比較通道的輸出
14.2通用定時器的PWM模式
14.3PWM脈寬調制相關的寄存器
14.3.1輸出模式下的捕獲/比較模式寄存器1/2
14.3.2輸出模式下的捕獲/比較使能寄存器
14.3.3輸出模式下的捕獲/比較寄存器
14.4PWM脈寬調制相關的庫函數
14.4.1TIM_OCxInit()函數
14.4.2TIM_SetComparex()函數
14.4.3TIM_OCxPreloadConfig()函數
14.5PWM脈寬調制的應用實例
本章小結
第15章通用定時器及其應用3
15.1通用定時器捕獲/比較通道的輸入
15.2通用定時器的輸入捕獲模式
15.3通用定時器輸入捕獲相關的寄存器
15.3.1輸入模式下的捕獲/比較模式寄存器
15.3.2輸入模式下的捕獲/比較使能寄存器
15.3.3輸入模式下的捕獲/比較寄存器
15.4通用定時器輸入捕獲相關的庫函數
15.4.1TIM_ICxInit()函數
15.4.2TIM_OCxPolarityConfig()函數
15.4.3TIM_SetCounter()函數
15.5輸入捕獲的應用實例
本章小結
第16章實時時鐘
16.1RTC概述
16.2RTC相關的寄存器
16.2.1RTC控制寄存器高位
16.2.2RTC控制寄存器低位
16.2.3RTC預分頻裝載寄存器
16.2.4RTC預分頻余數寄存器
16.2.5RTC計數器寄存器
16.2.6RTC鬧鐘寄存器
16.3RTC應用相關的其他寄存器
16.3.1備份數據寄存器
16.3.2備份區域控制寄存器
16.3.3APB1外設使能寄存器
16.3.4電源控制寄存器
16.4RTC相關的庫函數
16.4.1RTC_WaitForLastTask()函數
16.4.2RTC_WaitForSynchro()函數
16.4.3RTC_EnterConfigMode()函數
16.4.4RTC_ExitConfigMode()函數
16.4.5RTC_GetCounter()函數
16.4.6RTC_SetCounter()函數
16.4.7RTC_SetPrescaler()函數
16.4.8RTC_SetAlarm()函數
16.4.9RTC_ITConfig()函數
16.4.10RTC_GetFlagStatus()函數和RTC_GetITStatus()函數
16.4.11RTC_ClearFlag()函數和RTC_ClearITPendingBit()函數
16.5RTC應用相關的其他庫函數
16.5.1RCC_RTCCLKConfig()函數
16.5.2RCC_RTCCLKCmd()函數
16.5.3PWR_BackupAccessCmd()函數
16.5.4RCC_LSEConfig()函數
16.5.5RCC_GetFlagStatus()函數
16.5.6BKP_ReadBackupRegister()函數
16.5.7BKP_WriteBackupRegister()函數
16.6RTC應用實例
本章小結
第17章電源控制
17.1電源管理
17.1.1獨立的A/D轉換器供電和參考電壓
17.1.2電池備份區域
17.1.3電壓調節器
17.2低功耗模式
17.2.1睡眠模式
17.2.2停止模式
17.2.3待機模式
17.2.4低功耗模式下的自動喚醒
17.3電源控制相關的寄存器
17.3.1電源控制寄存器
17.3.2電源控制/狀態寄存器
17.3.3系統控制寄存器
17.4電源控制相關的庫函數
17.4.1PWR_WakeUpPinCmd()函數
17.4.2PWR_EnterSTANDBYMode()函數
17.4.3PWR_EnterSTOPMode()函數
17.4.4PWR_GetFlagStatus()函數
17.4.5PWR_ClearFlag()函數
17.5電源控制的應用實例
本章小結
第18章ADC
18.1ADC概述
18.1.1ADC簡介
18.1.2ADC的主要特征
18.1.3ADC的功能描述
18.2ADC相關的寄存器
18.2.1ADC狀態寄存器
18.2.2ADC控制寄存器1
18.2.3ADC控制寄存器2
18.2.4ADC采樣時間寄存器
18.2.5ADC規則序列寄存器
18.2.6ADC注入數據寄存器
18.2.7ADC規則數據寄存器
18.2.8時鐘配置寄存器
18.3ADC相關的庫函數
18.3.1ADC_DeInit()函數
18.3.2ADC_Init()函數
18.3.3ADC_Cmd()函數
18.3.4ADC_ITConfig()函數
18.3.5ADC_ResetCalibration()函數
18.3.6ADC_GetResetCalibrationStatus(ADC_TypeDef*ADCx)
函數
18.3.7ADC_StartCalibration(ADC_TypeDef*ADCx)函數
18.3.8ADC_GetCalibrationStatus(ADC_TypeDef*ADCx)函數
18.3.9ADC_SoftwareStartConvCmd()函數
18.3.10ADC_RegularChannelConfig()函數
18.3.11ADC_GetConversionValue()函數
18.3.12ADC_TempSensorVrefintCmd()函數
18.3.13ADC_GetFlagStatus()函數和ADC_GetITStatus()函數
18.3.14ADC_ClearFlag()函數和ADC_ClearITPendingBit()函數
18.4ADC的應用實例
18.4.1讀取外部電壓值
18.4.2獲取內部溫度值
本章小結
第19章DAC
19.1DAC概述
19.1.1DAC簡介
19.1.2DAC的主要特征
19.2DAC的功能描述
19.2.1使能DAC通道和DAC緩存
19.2.2DAC的數據格式
19.2.3DAC的轉換
19.2.4DAC的輸出電壓
19.2.5DAC的觸發選擇
19.3DAC相關的寄存器
19.3.1DAC控制寄存器
19.3.2DAC軟件觸發寄存器
19.3.3DAC通道1的12位右對齊數據保持寄存器
19.3.4DAC通道1的12位左對齊數據保持寄存器
19.3.5DAC通道1的8位右對齊數據保持寄存器
19.3.6DAC通道1數據輸出寄存器
19.4DAC相關的庫函數
19.4.1DAC_DeInit()函數
19.4.2DAC_Init()函數
19.4.3DAC_Cmd()函數
19.4.4DAC_SetChannel1Data()函數和DAC_SetChannel2Data()
函數
19.4.5DAC_GetDataOutputValue()函數
19.4.6DAC_DMACmd()函數
19.4.7DAC_SoftwareTriggerCmd()函數
19.5DAC的應用實例
本章小結
參考文獻


微課視頻清單


視頻名稱時長/min位置
1.ARM及CortexM3概述0:37:30第1章章首
2.課程硬件開發平臺0:35:35第2章章首
3.課程軟件開發環境10:51:57第3章章首
4.課程軟件開發環境20:49:343.2節節首
5.課程軟件開發環境30:43:053.5.1節節首
6.課程軟件開發環境40:36:123.5.2節節首
7.STM32基礎知識簡介10:45:49第4章章首
8.STM32基礎知識簡介20:25:374.2節節首
9.GPIO端口及其應用10:39:02第5章章首
10.GPIO端口及其應用20:40:235.2節節首
11.GPIO端口及其應用30:48:285.3節節首
12.GPIO端口及其應用40:56:035.4.1節節首
13.GPIO端口及其應用50:45:215.4.2節節首
14.寄存器的名稱和地址的映射關系及位帶操作10:35:36第6章章首
15.寄存器的名稱和地址的映射關系及位帶操作20:50:166.2節節首
16.NVIC與中斷管理10:53:51第7章章首
17.NVIC與中斷管理20:51:367.3節節首
18.EXTI控制器及其應用10:43:13第8章章首
19.EXTI控制器及其應用20:50:328.3節節首
20.EXTI控制器及其應用30:34:278.4節節首
21.SysTick定時器及其應用10:40:15第9章章首
22.SysTick定時器及其應用20:59:349.4節節首
23.USART及其應用10:52:01第10章章首
24.USART及其應用20:54:2210.2節節首
25.USART及其應用30:48:0410.4節節首
26.USART及其應用40:41:5610.6節節首
27.USART及其應用50:47:3610.6節節末
28.獨立看門狗(IWDG)及其應用10:47:57第11章章首
29.獨立看門狗(IWDG)及其應用20:35:4111.4節節首
30.窗口看門狗(WWDG)及其應用10:38:09第12章章首
31.窗口看門狗(WWDG)及其應用20:46:1612.2節節首
32.通用定時器及其應用1_10:53:27第13章章首
33.通用定時器及其應用1_20:44:4513.2節節首
34.通用定時器及其應用1_30:31:3713.4節節首
35.通用定時器及其應用2_10:45:40第14章章首
36.通用定時器及其應用2_20:44:1114.2節節首

視頻名稱時長/min位置
37.通用定時器及其應用2_30:45:2214.3節節首
38.通用定時器及其應用2_40:32:1614.4節節首
39.通用定時器及其應用2_50:35:2914.5節節首
40.通用定時器及其應用3_10:38:44第15章章首
41.通用定時器及其應用3_20:43:4215.3節節首
42.通用定時器及其應用3_30:42:2915.4節節首
43.通用定時器及其應用3_40:40:5915.5節節首
44.電源控制10:28:20第17章章首
45.電源控制20:32:2017.2節節首
46.電源控制30:44:0817.2.2節節首
47.電源控制40:44:0617.3節節首
48.電源控制50:36:0817.5節節首
49.ADC10:47:11第18章章首
50.ADC20:57:1318.1.3節節首
51.ADC30:48:5018.2節節首
52.ADC40:41:5618.3節節首
53.ADC50:53:1318.4.1節節首
54.ADC60:38:4318.4.2節節首
55.DAC10:46:57第19章章首
56.DAC20:40:4519.3節節首
57.DAC30:36:2819.5節節首
本書從單片機應用的角度,系統的介紹STM32F107原理以及開發方法,共包含十六個篇章。
第一、二章是基礎篇,第一章介紹CrotexM3內核概況以及指令集,以及ST公司的STM系列單片機選型方法和開發工具。第二章介紹STM32F107單片機的的基礎架構以及存儲組織、時鐘、電源和啟動配置。
第四章介紹STM32F107單片機的NVIC和系統時鐘定時器。
第三章、第五章一直到第十三章是STM32F107單片機的外設篇,系統介紹了單片機的定時器、通信接口、ADC/DAC、USB、以太網接口等外設接口的原理和編程方法。
第十四章到十六章是進階篇,針對單片機應用的常用軟件技術,介紹了嵌入式界面設計方法、RTOS的使用、以及物聯網網關的設計方法。
全面信息化的時代及數字智能化為智能產品的發展帶來了巨大的契機,嵌入式智能產品市場前景廣闊,嵌入式系統的應用幾乎無處不在。廣闊的市場也吸引了全球范圍內的IT巨頭們進軍嵌入式市場,嵌入式已經形成了一個充滿商機的龐大產業,國家也對嵌入式軟件行業給予了政策傾斜。在“技術以人為本”的軟件技術產業中,嵌入式行業正以行業前景好、應用領域廣、人才需求大、就業薪酬高等眾多優勢,獲得越來越多應用開發人員的關注及青睞,也讓越來越多的技術研發人員投入嵌入式這一行業。
作者根據多年的嵌入式系統開發及教學經驗,理論與實際應用并重,力求做到由淺入深、循序漸進。全書分3篇,共19章。以CortexM3內核的STM32單片機產品為學習對象,以MDK5.14為開發平臺,詳細介紹了此類單片機的系統架構、各種內核和外圍設備的基本功能以及對它的實際應用。
在入門篇(第1章)中,介紹了對大多數人來說可能覺得比較熟悉但不一定能深刻理解的ARM的概念,進而引入CortexM3內核的概念,并介紹了其分類、特點、指令集等,使讀者對CortexM3內核有一個大體的認識。
在準備篇(第2~4章)中,首先介紹了CortexM3內核的STM32系列的MCU,并先后介紹與本書所配套的硬件開發套件——天信通采用的STM32F107單片機以及軟件開發平臺MDK5.14,以及MDK的基本應用。接著簡要介紹了STM32的一些基礎知識,包括系統架構、時鐘系統等,為在詳解篇講解STM32的各種內核和外設模塊做好準備。
在詳解篇(第5~19章)中,介紹了STM32的各種內核和外設模塊的基本功能及其應用,這些內核和外設模塊包括GPIO端口、滴答定時器、NVIC、EXTI、USART、IWDG、WWDG、通用定時器、RTC、電源控制、ADC等。對于每個模塊,基本上都會用一章的篇幅來介紹關于它的功能——從基本原理,到與其相關的底層寄存器,再到ST官方固件庫所包含的與其相關的庫函數。在每章的最后,都會講解至少一個與STM32的該模塊相關的應用實例。此外,提供了應用實例的源代碼,方便大家在學習時通過開發板進行實驗。
本書第1、4章由王英合編寫,第2、3章由劉通編寫,第5~19章由姜付鵬編寫,全書由劉通統稿,黃凱負責校對,在編寫過程中得到清華大學出版社盛東亮、曾珊等各位老師的指導與支持,以及山東商務職業學院老師的協助,同時作者還參考了STM32技術手冊以及國內外優秀的教材和科技文獻,在此一并表示感謝。
由于作者水平所限,書中難免存在疏漏,希望讀者指正。
編者
2022年5月
pagetop