出版时间:2012-2 出版社:北京航空航天大学出版社 作者:蒙博宇 页数:418
Tag标签:无
内容概要
《STM32自学笔记》以新颖的思路、简单的逻辑、简洁的语言来阐述作者初遇STM32以来的种种认识,书中多处内容都是由作者从STM32初学时的实践中总结而来。本书主要介绍ARM Cortex—M3系列STM32的原理及应用,全书共7章。第1章主要对STM32做基本介绍;第2章介绍ARM Cortex—M3内核架构的大致概况;第3章从外设特性、功耗特性、安全特性等方面对STM32进行全面的剖析;第4章主要介绍开发工具;第5章则引导读者针对STM32的外设进行一系列的基础实验设计;第6章通过10篇高级应用文章介绍STM32的一些高级知识;第7章则通过一个综合实例讲述一个STM32完整应用方案的实现过程。本书共享源代码和相关资料,下载地址为http://bbs.cepark.CO ZTl和北京航空航天大学出版社“下载中心”。 本书条理清楚,通俗易懂,贴近读者,主要面向STM32的初学者,以及所有对ARM Cortex—M3系列微控制器感兴趣的朋友们。
书籍目录
第1章 什么是STM321
1.1从CortexM3说起1
1.2STM32面面观3
第2章 杰出的源泉——ARM CortexM3内核架构8
2.1 ARM架构回顾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系统节拍定时器18
2.3.6中断处理18
2.3.7嵌套中断向量控制器19
2.4低功耗的新期待25
2.4.1进入低功耗模式25
2.4.2 CoreSight调试组件26
第3章 欢迎来到STM32的世界28
3.1让STM32跑起来28
3.1.1引脚分布和封装尺寸28
3.1.2电源的供应方案28
3.1.3复位电路29
3.1.4一个典型的STM32最小系统30
3.1.5时钟源的选择30
3.1.6启动引脚和ISP编程31
3.1.7调试端口32
3.2认识真正的STM3232
3.2.1存储区映射33
3.2.2性能最大化34
3.3丰富多样的外部设备41
3.3.1通用设备单元41
3.3.2通信接口61
3.4 STM32也论低功耗66
3.4.1运行模式67
3.4.2几种低功耗模式68
3.4.3调试支持特性70
3.5为STM32保驾护航71
3.5.1一些安全特性71
3.5.2复位控制71
3.5.3电源检测72
3.5.4时钟安全系统72
3.5.5看门狗73
3.5.6外设的安全特性76
3.6高性能内置Flash模块76
3.6.1内置Flash安全特性和编程方法77
3.6.2选项字节77
第4章 百花齐放的开发工具79
4.1开发平台79
4.2固件库和协议栈80
4.3实时操作系统RTOS80
4.4 Keil MDK使用入门81
第5章STM32基础实验101
5.1先用GPIO来点个灯吧101
5.2简约而不简单的SysTick定时器114
5.3使用GPIO和SysTick定时器实现按键扫描121
5.4通过串口和PC说声Hello129
5.5风吹草动也不放过——NVIC和外部中断140
5.6两只忠诚的看门狗154
5.7 DMA——让数据传输更上一层楼177
5.8 BKP寄存器与入侵检测一廉价的掉电存储与防拆解方案191
5.9利用RTC实现一个万年历204
5.10挑战STM32的低功耗设计218
5.11 STM32有一双眼睛叫ADC228
5.12通用定时器的应用242
5.13嵌入式Flash的读/写275
5.14使用SPI接口实现自通信282
5.15 I2C接口自通信实验298
5.16来认识一下CAN总线316
第6章STM32进阶应用335
6.1进阶文章1:IAR EWARM的工程建立335
6.2进阶文章2:STM32的时钟树343
6.3进阶文章3:解析STM32的库函数348
6.4进阶文章4:在STM32平台上实现CortexM3的位带特性354
6.5进阶文章5:解析STM32的启动过程358
6.6进阶文章6:环形缓冲区的实现366
6.7进阶文章7:软件定时器的设计372
6.8进阶文章8:STM32的ISP下载379
6.9进阶文章9:基于STM32标准外设固件库v3.x的工程建立385
6.10进阶文章10:使用I/O口实现模拟I2C接口389
第7章 综合性实例:STM32的IAP方案395
附录A 常用程序408
附录B Typedef定义410
附录C 本书硬件平台介绍 411
参考文献418
章节摘录
版权页:插图:5.10.7 注意事项①在实际应用中进行STM32的低功耗设计时,除了关注进入低功耗的方式、具体的功耗组成以及退出的方法之外,低功耗状态的退出时间也应该是开发人员所要重点关注的事项。②上述程序在STM32从低功耗模式恢复之后,并没有再次对RCC寄存器组进行配置,为的是确认HSI是否真地被启用为主时钟了。但是实际应用中,退出深度睡眠模式之后必须重新将RCC寄存器组配置为睡眠之前的状态,否则部分外设会因得不到正确的时钟驱动而陷入混乱状态。③在此解析一下“事件”与“中断”的概念:“事件”指的是发生在某个设备上的某种现象,比如定时器溢出、看门狗复位、串口设备收到一个数据等。可以认为“中断”是建立在“事件”发生的前提下,比如“定时器溢出”这一事件是客观存在的,无论人的意愿如何,只要定时器计数寄存器的数值超出了上限,就会发生“定时器溢出”事件。但是是否由这一事件去请求“定时器溢出中断”则是人为主观控制的。简而言之,没有事件发生就不会发生中断请求,有事件发生却不一定发生中断请求,因为人可以根据事件的发生选择是否去触发一次中断服务。5.10.8 实验结果建立并设置好工程,编辑好代码之后按下F7进行编译,将所有错误警告排除后(若存在)按下Ctrl+F5进行烧写与仿真,然后按下F5全速运行,会依次看到如下现象:①接在GPIOA.4 上的LED以Is间隔闪烁,持续了3个轮回之后停止,LED保持在点亮的状态。②此时按下GPIOA.O上连接的按键……③LED恢复闪烁,但频率比第1点中描述的要慢得多。通过这些现象可以对应获取如下信息:●LED开始闪烁之后停止,并保持在点亮的状态,这说明STM32进入了低功耗模式,并且寄存器的值并没有改变(因为灯是亮的)。●按下按键之后,触发了EXTIO中断。●接着看到LED恢复闪烁,这说明STM32的确从低功耗模式唤醒了。而闪烁频率明显降低,说明STM32从低功耗模式恢复之后,是从进入低功耗语句之后开始恢复执行的,而不是从程序起始处执行,否则闪烁频率不会降低。●此外闪烁频率降低还说明,STM32的主时钟不再是72MHz了。而根据前面的描述,此时的主时钟应该来自HSI,为8MHz。
编辑推荐
《STM32自学笔记》共享资料:《STM32自学笔记》共享源代码和相关资料,下载地址为北京航空航天大学出版社“下载中心”。共享资料内容索引如下:基础实验:该文件夹下包含了《STM32自学笔记》第5章“STM32基础实验”的所有源程序。进阶应用:该文件夹下包含了《STM32自学笔记》第6章“STM32进阶应用”的所有源程序。综合性实验:该文件夹下是《STM32自学笔记》第7章“综合性实例:STM32的IAP方案”的源程序。硬件描述:该文件夹下包含《STM32自学笔记》所用CEPARKSTM32学习板的实物图、原理图和PCB图。读者对象:《STM32自学笔记》条理清楚,通俗易懂,贴近读者,主要面向STM32的初学者,以及所有对ARMCortex-M3系列微控制器感兴趣的朋友们。
图书封面
图书标签Tags
无
评论、评分、阅读与下载