例说STM32.PDF
工程师经验手记
例说STM32
刘军编著
京航空航无头出社
内容简介
本书由浅人深,带领大家进入STM32的世界。全书分3篇,第一篇为硬件篇,介绍本书的实
验平台;第二篇为软件篇,介绍STM32开发软件的使用以及一些下载调试的技巧,并详细介绍了
几个常用的系统文件(程序);第三篇为实践篇,通过28个实例(绝大部分是直接操作寄存器完成
的)带领大家一步步深入STM32的学习。
本书附带的光盘中包含本书实验平台的详细原理图以及所有实例的完整代码,这些代码都有
详细的注释读者只需要复制到自己的硬盘,编译一次即可下载到实验平台运行。
本书的读者对象主要是STM32的初学者和提高者,对想了解和使用STM32的读者具有一定
的参考意义,另外对于单片机学习者,本书的大量实例也极具参考价值。
图书在版编目(CIP数据
例说STM32/刘军编著.一北京:北京航空航天大
学出版社,2011.4
ISBN978-7-5124-0401-4
I.①例…Ⅱ.①刘…Ⅲ.①单片微型计算机Ⅳ
①TP368.1
中国版本图书馆CIP数据核字(2011)第058308号
版权所有,侵权必究。
例说STM32
刘军编著
责任编辑董立娟
北京航空航天大学出版社出版发行
北京市海淀区学院路37号(邮编100191)http://www.buaapress.com.cn
发行部电话:(010)82317024传真:(010)82328026
读者信箱;mbook@gmail.com邮购电话:(010)82316936
北京时代华都印刷有限公司印装各地书店经销
开本:787×9601/16印张:23.75字数:532千字
2011年4月第1版2011年4月第1次印刷印数:4000册
IsBN978-7-5124-0401-4定价:45.00元(含光盘1张)
Cortex-M3作为目前最好的ARMV7构架,不仅支持Thumb-2指令集,而且拥有很多
新特性。较之ARM7TDMI,Cortex-M3拥有更强劲的性能、更高的代码密度、位带操作、可
嵌套中断、低成本和低功耗等众多优势。
在国内Cortex-M3市场上,ST(意法半导体)公司的STM32无疑是最大羸家,作为Cor
tex-M3内核最先尝蟹的两个公司(另一个是Luminary(流明))之一,ST无论是在市场占有
率,还是在技术支持方面,都是远超其他对手。在Cortex-M3芯片的选择上,STM32无疑是
大家的首选。
STM32的优异性体现在如下几个方面:
》超低的价格。以8位机的价格得到32位机,是STM32最大的优势
超多的外设。STM32拥有包括:FSMC、TIMER、SPI、IC、USB、CAN、P2S、SDIO、
ADC、DAC、RTC和DMA等众多外设及功能,具有极高的集成度。
丰富的型号。STM32拥有F101、F102、F103、F105、F107这5个系列数十种型号,具有
QFN、LQFP、BGA等封装可供选择。
优异的实时性能。84个中断,16级可编程优先级,并且所有的引脚都可以作为中断输入
杰出的功耗控制。STM32各个外设都有自己的独立时钟开关,可以通过关闭相应外设
的时钟来降低功耗。
极低的开发成本。STM32的开发不需要昂贵的仿真器,只需要一个串口即可下载代
码,并且支持SWD和JTAG两种调试口。SWD调试可以为您的设计带来很多方便,
只需要2个I/O口即可实现仿真调试。
学习STM32有两份不错的中文资料:《STM32参考手册》中文版V10.0及《Cortex-M3
权威指南》中文版(宋岩译)。前者是ST官方针对STM32的一份通用参考资料,内容翔实,
但是没有实例,也没有对Cortex-M3构架进行太多介绍(估计ST是把读者都当成一个
Cortex-M3熟悉者来写的),读者只能根据自己对书本的理解来编写相关代码。后者是专门
介绍Cortex-M3构架的书,有简短的实例,但没有专门针对STM32的介绍。所以,在学习
STM32的时候,必须结合这份资料来看。
sTM32拥有非常多的寄存器,其中断管理更是复杂,对于新手来说,看ST提供的库函数
虽然可以很好地使用,但是没法深入理解,一旦出错查问题就非常痛苦了。另外,库函数在效
率和代码量上面都是不如直接操作寄存器的。
本书将结合《STM32参考手册》和《Cortex-M3权威指南》两者的优点,并从寄存器级别
出发,深入浅出,向读者展示STM32的各种功能。全书配有28个实例,每个实例均配有软硬
件设计,在介绍完软硬件之后,马上附上实例代码,并带有详细注释及说明,可使读者快速理解
代码。
这些实例涵盖了STM32的绝大部分内部资源,所有实例在MDK3.80A编译器下编译通
过,读者只须复制源码,编译即可验证实验。
不管您是一个STM32初学者,还是一个老手,本书都非常适合。尤其对于初学者,本书
将手把手地教您如何使用MDK,包括新建工程、编译、仿真、下载调试等一系列步骤,让您轻
松上手。本书不适用于想通过库函数学习STM32的读者,因为本书的绝大部分内容都是直
接操作STM32寄存器的,如果您想通过库函数学习STM32,建议直接看MDK安装目录下的
例程。
本书的实验平台是ALIENTEKMiniSTM32开发板,有这款开发板的朋友则直接可以拿
书上的例程在开发板上运行、验证。而没有这款开发板的,可以上淘宝网购买。当然如果已有
了一款自己的开发板,而又不想再买,也是可以的,只要您的板子上有AlIENTEKMin
STM32开发板上的相同资源(需要实验用到的),代码一般都是可以通用的,您需要做的就只
是把底层的驱动函数(一般是I/O操作)稍做修改,使之适合您的开发板即可。
俗话说:人无完人。书也不例外,本书在编写过程中虽然得到了不少网友的指正,但难免
会有出错的地方,如果大家发现书中有什么错误的地方,请与笔者联系,邮箱:liujun6037@
foxmail.com,也可以去www,opened.com论坛给我留言。在此先向各位朋友表示真心的
感谢。
最后,衷心感谢北京航空航天大学出版社,没有出版社的支持,本书也很难顺利出版;感谢
师兄及广大网友对本书的建议与支持;感谢家人对我的支持与理解,尤其要感谢我爱人。
编者
2011年2月
目录
第一篇硬件篇
第1章实验平台简介………………………………………………………………………2
1.1ALIENTEKMinisTr32开发板简介……
2
1.2主流入门级STM32开发平台对比………
第2章实验平台硬件资源详解
…………11
2.1开发板原理图详解
2.2开发板使用注意事项………………………………………………………18
第二篇软件篇
第3章RVMDK软件入门…………
21
3.1RVMDK3.80A简介
……………………21
3.2新建RVMDK工程……………………………………………………………22
3.3RVMDK使用技巧
3.3.1文本美化…………………………………………………………………30
3.3.2代码编辑技巧………………………………………………………33
3.3.3其他小技巧…………………………………………………………………37
3.3.4调试技巧………
曾出世++型+,
38
第4章下载与调试…………………………………………………………………………41
4.1STM32软件仿真……………………………………………………………4
4.2STM32程序下载
47
4.3STM32硬件调试…
……………52
第5章SYSTEM文件夹介绍…………
·,.,着
56
5.1deay文件夹代码介绍…………
…………56
5.1.1delayinit函数
·当世··整使型世·世t世虚t世世世t重面世世tt量中.·和和
…57
例说STM32
5.1.2delay_us函数
“::::::::···.·····+:.:·::··…···
…58
5.1.3delayms函数
……………58
5,2sys文件夹代码介绍…
………59
5.2.1I/O口的位操作实现…………………………………………………………………59
5.2.2Stm32ClockInit函数
…………………61
5.2.3SysSoftreset函数
5.2.4SysSleepDeep函数…
64
5.2.5JTAG_Set函数…………………:65
5.2.6中断管理函数……………………………………………………………66
5.3usart文件夹介绍
…………73
5.3.1USARTIIRQHandler函数………………………………
……………73
5.3.2uartinit函数
75
第三篇实践篇
第6章跑马灯实验…………………………………………………………………………79
第7章按键输人实验
第8章串口实验…
7
第9章外部中断实验…………………………………………………………106
第10章独立看门狗实验
第11章窗口看门狗实验
第12章定时器中断实验………
122
第13章PWM输出实验…
:·:::::.:.::·:.:::··::.·:..·:···:·.:
129
第14章OLED显示实验……………………………………………………………134
第15章TFT-LCD显示实验………………………………………………………150
第16章RTC实时时钟实验………………………………………………………………168
第17章待机唤醒实验
··,鲁由1
……………………………………183
第18章ADC实验…………
……………………………………………191
第19章内部温度传感器实验…
202
第20章DMA实验………………………………………………………………………207
第21章IC实验
………………………………………………………216
第22章SPI实验
………………………………………228
第23章触摸屏实验
239
目录
第24章无线通信实验
…………………………250
第25章SD卡实验
262
第26章红外遥控实验………274
第27章DS8B20实验…
283
第28章PS/2鼠标实验……
292
第29章汉字显示实验
…308
第30章图片显示实验………
…………………………………………………327
第31章触控USB鼠标实验…
337
第32章制作MP3播放器实验
346
第33章综合测试实验……
…361
參考文献…
…………………………372
3
第一篇硬件篇
实践出真知,要想学好STM32,实验平台必不可少本篇将详细
介绍STM32的硬件平台和ALIENTEKMiniSTM32开发板。通过
该篇的介绍,您将了解到该开发板的功能及特点。
为了让读者更好地使用ALIENTEKMinisTM32开发板,本篇
还介绍了开发板的一些使用注意事顶,读者在使用开发板的时候一
定要注意。
本篇将分为如下两章:
①实验平台简介;
②实验平台硬件资源详解。
下载地址
用户评论