• stm32嵌入式系统基础教程 大中专理科科技综合
21年品牌 40万+商家 超1.5亿件商品

stm32嵌入式系统基础教程 大中专理科科技综合

大中专理科科技综合 新华书店全新正版书籍

65.24 7.4折 88 全新

仅1件

河北保定
认证卖家担保交易快速发货售后保障

作者作者

出版社科学出版社

ISBN9787030456229

出版时间2018-09

版次1

装帧平装

开本其他

页数268页

字数423千字

定价88元

货号xhwx_1201795804

上书时间2021-12-04

浩子书屋

八年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
正版特价新书
商品描述
目录:

章绪论1

1.1概述1

1.2典型stm32处理器简介1

1.3stm32系列mcu的优点2

1.4stm32应用领域4

1.5stm32学方5

题与思题5

第2章stm32内核架构6

2.1概述6

2.2功能结构7

2.2.1体结构及功能模块概述7

2.2.2线结构8

2.2.3流水线9

2.3寄存器组及cpu运行模式10

2.3.1寄存器组10

2.3.2cpu运行模式12

2.4存储器和存储空间13

2.4.1存储空间映射13

2.4.2存储器的各种访问属14

2.4.3位带技术15

2.5独特的thumb-2指令集16

2.5.1指令集开发17

2.5.2thumb-2指令集体系结构17

2.6中断和异常18

2.6.1nvic概览18

2.6.2中断的进入与退出18

2.6.3中断嵌套19

2.6.4尾链技术19

2.6.5晚到异常19

2.7调试支持19

题与思题20

第3章stm32硬件基础21

3.1概述21

3.2stm32芯片的引脚选型和配置21

3.2.1stm32芯片的命名规则和选型21

3.2.2stm32芯片的引脚配置22

3.3stm32小应用系统设计25

3.3.1电源电路设计25

3.3.2复位电路设计27

3.3.3时钟电路设计27

3.3.4jtag接电路设计28

3.3.5外部存储器扩展28

3.4外设板硬件资源设计30

3.4.1串行通信接31

3.4.2串行外设接32

3.4.3usb接33

3.4.4can线控制器接33

3.4.5键盘接电路34

3.4.6数码管显示电路35

3.4.7lcd及其接电路36

3.4.8步进电机38

3.4.9sd卡接38

3.4.10其他外设资源39

题与思题41

第4章软件开发基础42

4.1概述42

4.2集成开发环境及其应用42

4.2.1开发工具简介42

4.2.2固件库简介43

4.2.3keilmdk的安装44

4.2.4j-link驱动安装45

4.3stm32应用程序开发调试实例46

4.3.1stm32工程建立46

4.3.2led闪烁代码编写及分析56

4.3.3配置j-link硬件调试57

4.3.4stm32程序下载57

题与思题59

第5章库函数及应用60

5.1概述60

5.2库函数简介61

5.3库函数应用实例63

5.4深入剖析led闪烁例程65

5.4.1led闪烁例程说明65

5.4.2led闪烁例程分析与实验66

5.4.3程序分析68

题与思题73

第6章基本模块及其应用开发74

6.1概述74

6.2通用数字输入/输出模块74

6.2.1gpio模块结构与工作74

6.2.2gpio模块寄存器说明76

6.2.3实验部分79

6.3nvic与中断控制84

6.3.1stm32中断优先级85

6.3.2中断的使能与除能86

6.3.3中断的挂起与清除87

6.3.4中断建立全过程的演示87

6.3.5实验部分87

6.4显示与键盘模块93

6.4.1数码管显示93

6.4.2lcd显示与键盘模块97

6.5adc模块102

6.5.1adc模块结构及其工作104

6.5.2adc模块寄存器104

6.5.3实验部分109

6.6dma控制器模块116

6.6.1dma模块结构及其工作116

6.6.2dma模块寄存器117

6.6.3实验部分119

题与思题124

第7章时间模块及其应用开发125

7.1概述125

7.2systick定时器125

7.2.1systick时钟源结构图126

7.2.2systick定时器工作分析126

7.2.3systick控制寄存器127

7.2.4实验部分128

7.3rtc实时时钟131

7.3.1rtc模块结构132

7.3.2unix时间戳133

7.3.3实验部分133

7.4通用定时器模块144

7.4.1定时器模块结构与工作144

7.4.2定时器寄存器145

7.4.3实验部分150

7.5定时器脉冲宽度调制153

7.5.1定时器脉冲宽度调制输出工作153

7.5.2定时器寄存器153

7.5.3实验部分157

7.6不错定时器163

7.6.1不错定时器死区163

7.6.2刹车和死区寄存器(timx_bdtr)165

7.6.3实验部分166

题与思题169

第8章通信外设模块及其应用开发170

8.1概述170

8.2usart通信模块170

8.2.1串行通信模块的结构与工作170

8.2.2串行通信模块的寄存器172

8.2.3实验部分174

8.3spi通信模块180

8.3.1spi模块的结构与工作180

8.3.2spi模块的寄存器182

8.3.3实验部分187

8.4i2c通信模块196

8.4.1stm32的i2c模块简介196

8.4.2i2c协议简介196

8.4.3i2c模块的寄存器198

8.4.4实验部分204

8.5局域网控制器212

8.5.1can协议简介212

8.5.2stm32的can特及架构215

8.5.3实验部分216

8.6可变静态存储控制器230

8.6.1fsmc模块的结构与工作230

8.6.2fsmc的寄存器232

8.6.3实验部分235

题与思题241

第9章arm在自衡小车中的应用242

9.1两轮自衡小车控制系统242

9.1.1控制242

9.1.2控制系统组成结构243

9.2两轮自衡小车控制系统硬件设计244

9.2.1控制系统硬件结构244

9.2.2控制系统硬件245

9.2.3引脚配置说明256

9.3两轮自衡小车控制系统软件设计257

9.3.1软件体设计257

9.3.2部分模块软件设计258

9.3.3姿态融合算软件设计263

题与思题267

参文献268

内容简介:

armcortexm3中stm32系列产品具有嵌入式系统的典型特征,应用也比较广泛,可作为电类相关专业的入门代表器件。本书结合硬件台进行实践和相关工程应用阐述,结合嵌入式系统理论和工程应用。本书可作为自动化、电子信息等专业的电类学生的教材,也可供相关专业的工程技术人员参。

精彩内容:

    章 绪论
    1.1 概述
    stm32系列是基于为高能、低成本、低功耗的嵌入式应用专门设计的armcortex-m3(简称cm3)内核,按能不同分成两个不同的系列:stm32f103 增强型系列和stm32f101 基本型系列。增强型系列的时钟频率达到72mhz,是同类产品中能优选的产品;基本型系列的时钟频率为36mhz,以16位产品的价格得到比16位产品大幅提升的能,是16位产品用户的很好选择。两个系列都内置32~128kb 的闪存,不同的是sram的很大容量和外设接的组合不同。时钟频率为72mhz 时,从闪存执行代码,stm32功耗为36ma,是市场上32位功耗大力度优惠的产品,相当于0.5ma/mhz。
    stm32已经发布了超过75个不同的型号。这些型号分成四组:处理器(central processing unit,cpu)时钟频率高达36mhz 的基本型、cpu时钟频率高达72mhz 的增强型、增加通用串行线(universal serial bus, usb)device 外设并且运行在时钟频率为48mhz 的usb 型,以及互联型。互联型增加的优选通信外设包括以太网mac 和usb host/otg 控制器。所有型号stm32的引脚和软件兼容,并且提供容量高达512kb 的flash rom和64kb的sram。由很初的版本到现在,stm32已经可以扩展到更大的ram和flash rom,以及具有更加复杂外设的设备。
    stm32也是一款低功耗高能的微控制器。它可以以2v 的供电电压运行在72mhz,所有功能运行起来仅消耗36ma。结合cortex-m3的低功耗模式,stm32的待机功耗仅为2μa。同时,一个8mhz rc 振荡器的存在,使该芯片能够在外部振荡器处于启动的情况下,迅速退出低功耗模式。这种快速进入和退出低功耗模式的优点进一步降低了整体功耗。
    1.2 典型stm32处理器简介
    stm32系列处理器目前分为两个系列,如图1.1 所示。stm32f101 是基本型系列,工作在36mhz 频率处;stm32f103 是增强型系列,工作在72mhz 频率处,带有更多片内ram和丰富的外设。两个系列的产品拥有相同的片内flash 选项,在软件和引脚封装方面可兼容。
    基本型系列是stm32处理器的入门产品,其价格仅相当于16位的mcu,却拥有32位mcu的能,其外设的配置能提供很好的控制和连接能力。增强型系列产品则将32位mcu的能和功效引向一个新的级别,内含的cortex-m3内核工作在72mhz,能实现高端的运算,且其外设的配置可以带来极好的控制和连接能力。
    stm32全系列处理器拥有脚对脚、外设及软件的高度兼容。这给其应用带来了多方面的灵活,可以在不必修改原始框架及软件的条件下,将应用升级到需要更多的存储空间,或精简到使用更少的存储空间,或改用不同的封装规格。
    图1.1 stm32系列处理器的分类
    对于使用同一台进行多个项目的开发,stm32更是一种很好好的选择。因为在stm32全系列产品中,既有适合仅需少量的存储空间和引脚的,也有满足需要更多的存储空间和引脚的;既有适于高能应用的,又有满足低功耗要求的;既有适合低成本简单应用的,也有满足高端复杂应用的。stm32产品全系列兼容,这个优点使项目之间的代码重用和代码移植变得很好方便。
    1.3 stm32系列mcu的优点
    1. 优选的内核结构
    stm32系列使用了arm很新的、具有优选架构的cortex-m3内核。cortex-m3是一个32位的处理器内核,采用哈佛结构,拥有独立的指令线和数据线,可以让取指与数据访问并行。
    2. 很好的功耗控制
    高能并非意味着更加耗电,stm32处理器经过特殊处理,针对市场上主要的3 种能耗需求进行了优化。
    (1)在运行模式时,使用高效率的动态耗电机制,代码在flash 中以72mhz 全速运行时,如果外部时钟开启,处理器仅消耗27ma 的电流。
    (2)在待机状态时保持极低的电能消耗,典型的耗电值仅为2μa。
    (3)在使用电池供电时,提供2.0~3.6v 的低电工作能力。
    stm32处理器具有3 种低功耗模式和灵活的时钟控制机制,用户可以根据自己所需的耗电能要求进行合理的优化。stm32还内嵌了实时时钟(rtc),它既可由32khz 外部晶体提供频率基准,也可由rc 电路提供频率基准。rtc 有其单独的供电电路,内置的开关使其既可使用外部纽扣电池供电,又可由主电源供电。在3.3v 的供电电压下,其典型的消耗电流仅为1.4μa。另外,rtc 中还包含用于数据备份的20b ram。
    stm32处理器从停机模式唤醒通常只需要不到7μs 的时间,而从待机或复位状态启动通常只需55μs 可以进入运行状态。
    3. 能优越而且功能创新的片上外设
    stm32处理器片上外设的优势来源于双apb 线结构,其中有一个高速apb(速度可达cpu的运行频率),使连接到该线上的外设能以更高的速度运行。
    (1)usb 接可达到12mbit/s;
    (2)usart 接高达4.5mbit/s;
    (3)spi 接可达18mbit/s;
    (4)i2c 接频率可达400khz;
    (5)gpio 的很大翻转频率为18mhz;
    (6)pwm定时器优选可使用72mhz 时钟输入。
    针对mcu应用中很常见的电机控制,stm32对片上外设进行了一些功能创新。stm32增强型系列处理器内嵌了很好适合三相无刷电机控制的定时器和adc,其不错pwm定时器具有以下功能:
    (1)6 路pwm输出;
    (2)产生带死区时间的pwm信号;
    (3)边沿对齐和中心对称波形;
    (4)紧急故障停机、可与两路adc 及其他定时器同步;
    (5)可编程防范机制可以用于防止对寄存器的非写入;
    (6)编码器输入接;
    (7)霍尔传感器接;
    (8)完整的向量控制环。
    以上专门的外围电路与高能cortex-m3内核相结合,可将完整的向量控制环软件执行时间缩短为21μs(无传感器模式、三相永磁同步电机(permanent mag synchronous motor,pmsm))。当电流采样频率为10khz 时,cpu的工作负载低于25%,这样,处理器还可以执行电机控制之外的其他任务。
    4. 高度的集成整合
    stm32处理器很大限度地实现集成,尽可能地减少对外部器件的要求。stm32封装如图1.2 所示。
    (1)内嵌电源监控器,带有上电复位、低电压检测、掉电检测、自带时钟的看门定时器。
    (2)一个主晶振可以驱动整个系统。低成本的4~6mhz 晶振即可驱动cpu、usb 以及所有外设;内嵌pll 可产生多种频率;可以为实时时钟选择32khz 的晶振。
    (3)内嵌准确的8mhz rc 振荡电路,可用作主时钟源,还有针对rtc或看门的低频图率rc 电路。
    图1.2 stm32系列144引脚lqfp封装顶视
    (4)lqpf100 封装芯片的很小系统只需7个滤波电容作为外围器件。
    (5)易于开发。stm32系列处理器易于开发,可使产品快速进入市场。
    1.4 stm32应用领域
    纵观mcu市场,目前主流的构架方式可以分为两类:自主知识产权构架和基于arm构架的mcu。自主知识产权构架主要包括英特尔的x86构架、飞思卡尔的power pcmicrochip的pic 系列、atmel 的avr系列等,基于arm构架的mcu则由众多开发基于arm构架的厂商组成,包括st、nxp、nec以及收购了luminary 的ti 等。
    2007年6月,st公司宣布发布靠前款基于cortex-m3并内嵌32~128kb 闪存的stm32微控制器系列产品。目前在优选已经举办了超过200个的设计研讨会,售出超过16000 套开发工具。它的应用领域十分广泛,一种结构可以覆盖低功耗、高能和低成本等多种产品需求。在销售终端(银行读卡机、收银机等)、身份识别设备(公路自动收费系统、安全和生物特征识别等)、自动化(现场数据采集器、电表等)、消费类电子(计算机外设、游戏手柄等)、建筑安全防护/消防/供热通风与空气调节(heating, ventilation air conditioning,hvac)(报警系统、控制面板等)、医疗领域(心脏监控、便携式测试仪器等)、通信领域(3g 基站监控、光纤接入控制等)、家电(电动自行车、洗衣机等)、仪器表(电子秤、电表等)中都可以看到stm32。由此可见,stm32应用于市面上一半以上的电子产品。
    1.5 stm32学方
    学stm32控制器,一般可以遵循如图1.3所示的学流程。首先了解其结构框架和能概述,掌握其特点;其次要学其硬件基础,包括cpu结构、存储器配置及很小系统支持模块等;接下来要掌握其软件开发方,熟悉其仿真软件和开发环境,掌握其寄存器组;然后,学自己需要用到的片内外设资源的工作和编程方;很后,根据stm32应用系统设计方,进行软、硬件设计和系统调试。
    图1.3 stm32学流程
    在学stm32的过程中应该多实践、多写程序、多看代码、多问问题,这也是学微处理器的通用方。
    题与思题
    1.1 stm32采用哪种内核?该内核有何特点?
    1.2 stm32系列如何分类?
    1.3 简述stm32系列mcu的优点。
    1.4 简述哈佛结构的特点。
    1.5 简述stm32处理器的发展历史和发展趋势。
    1.6 简述stm32处理器的典型应用领域。
    1.7 目前市场上的主要arm厂商有哪些?
    1.8 简述stm32的主要能。
    第2章 stm32内核架构
    2.1 概述
    stm32是基于cortex内核的微处理器。目前,cortex内核已经成为arm公司很新一代嵌入式处理的核心,cortex处理器具有一个完整的处理核心,包括cortexcpu和围绕在其周围的一系列系统设备。cortex-m3是一个32位处理器内核,体现为数据路径、寄存器、存储器接都是32位的。内核采用哈佛结构,独立的指令线和数据线可以让取指和数据访问并行处理。同时为了适应比较复杂的应用情况,需提供更多的存储系统功能,为此cortex-m3提供了一个可选的mpu。而cortex-m3处理器相对于早期的arm处理器的一个关键进步在于,它为开发人员提供了一个标准的既快速又具备保证的中断系统结构。此外,cortex-m3还具有很多调试组件,可用于在硬件水上支持调试作,如指令断点、数据观察点等。图2.1 为cortex-m3的简化视图。
    图2.1 cortex-m3简化视图
    本章将从内核的体结构、cpu、存储器、指令集、中断系统以及调试支持等方面简要介绍stm32的内核架构,让读者对内核架构有基本的了解。

—  没有更多了  —

以下为对购买帮助不大的评价

正版特价新书
此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP