成功加入购物车

去购物车结算 X
轩天书店
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程
  • STM32嵌入式系统基础教程

STM32嵌入式系统基础教程

举报

全新正版图书,支持七天退换,可开具电子发票。

  • 作者: 
  • 出版社:    科学出版社
  • ISBN:    9787030456229
  • 出版时间: 
  • 装帧:    平装
  • 开本:    16开
  • ISBN:  9787030456229
  • 出版时间: 
  • 装帧:  平装
  • 开本:  16开

售价 57.02 6.5折

定价 ¥88.00 

品相 全新

优惠 满包邮

优惠 满减券
    运费
    本店暂时无法向该地区发货

    延迟发货说明

    时间:
    说明:

    上书时间2024-04-14

    数量
    库存2
    微信扫描下方二维码
    微信扫描打开成功后,点击右上角”...“进行转发

    卖家超过10天未登录

    • 商品详情
    • 店铺评价
    手机购买
    微信扫码访问
    • 货号:
      9449655
      商品描述:
      商品简介

      本书首先以Cortex-M3内核为例,介绍了STM32内核架构、存储空间、中断方式、指令集等ARM基础内容。随后以微处理器STM32F103ZET6为例,结合配套的开发板硬件,有针对性地介绍STM32内部资源、小系统设计,并从面上分析STM32芯片的引脚配置、常用片上资源、外围接口电路设计等内容,从而让读者对STM32系统有一个整体认识。然后以“LED闪烁”典型例程为引导,由浅入深,逐步讲述了MDK开发环境、工程建立、程序编译、库函数、端口配置等软硬件使用方法。结合CPU片上资源配置,采用具体实验例程,详细介绍各个模块的功能和使用方法。后以两轮自平衡小车控制系统设计为例,从实际工程开发的角度,介绍STM32应用系统软硬件的设计和实现。
      【书摘与插画】
                        ?

       
       
       
       

      目录
      目录 第1章 绪论 1 1.1 概述 1 1.2 典型STM32处理器简介 1 1.3 STM32系列MCU的优点 2 1.4 STM32应用领域 4 1.5 STM32学习方法 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.2 CPU运行模式 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.2 Thumb-2指令集体系结构 17 2.6 中断和异常 18 2.6.1 NVIC概览 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.2 STM32芯片的引脚选型和配置 21 3.2.1 STM32芯片的命名规则和选型 21 3.2.2 STM32芯片的引脚配置 22 3.3 STM32习小应用系统设计 25 3.3.1 电源电路设计 25 3.3.2 复位电路设计 27 3.3.3 时钟电路设计 27 3.3.4 JTAG接口电路设计 28 3.3.5 外部存储器扩展 28 3.4 外设板硬件资源设计 30 3.4.1 串行通信接口 31 3.4.2 串行外设接口 32 3.4.3 USB接口 33 3.4.4 CAN总线控制器接口 33 3.4.5 键盘接口电路 34 3.4.6 数码管显示电路 35 3.4.7 LCD及其接口电路 36 3.4.8 步进电机 38 3.4.9 SD卡接口 38 3.4.10 其他外设资源 39 习题与思考题 41 第4章 软件开发基础 42 4.1 概述 42 4.2 集成开发环境及其应用 42 4.2.1 开发工具简介 42 4.2.2 固件库简介 43 4.2.3 Keil MDK的安装 44 4.2.4 J-LINK驱动安装 45 4.3 STM32应用程序开发调试实例 46 4.3.1 STM32工程建立 46 4.3.2 LED闪烁代码编写及分析 56 4.3.3 配置J-LINK硬件调试 57 4.3.4 STM32程序下载 57 习题与思考题 59 第5章 库函数及应用 60 5.1 概述 60 5.2 库函数简介 61 5.3 库函数应用实例 63 5.4 深入剖析LED闪烁例程 65 5.4.1 LED闪烁例程说明 65 5.4.2 LED闪烁例程分析与实验 66 5.4.3 程序分析 68 习题与思考题 73 第6章 基本模块及其应用开发 74 6.1 概述 74 6.2 通用数字输入/输出模块 74 6.2.1 GPIO模块结构与工作原理 74 6.2.2 GPIO模块寄存器说明 76 6.2.3 实验部分 79 6.3 NVIC与中断控制 84 6.3.1 STM32中断优先级 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.2 LCD显示与键盘模块 97 6.5 ADC模块 102 6.5.1 ADC模块结构及其工作原理 104 6.5.2 ADC模块寄存器 104 6.5.3 实验部分 109 6.6 DMA控制器模块 116 6.6.1 DMA模块结构及其工作原理 116 6.6.2 DMA模块寄存器 117 6.6.3 实验部分 119 习题与思考题 124 第7章 时间模块及其应用开发 125 7.1 概述 125 7.2 SysTick定时器 125 7.2.1 SysTick时钟源结构图 126 7.2.2 SysTick定时器工作分析 126 7.2.3 SysTick控制寄存器 127 7.2.4 实验部分 128 7.3 RTC实时时钟 131 7.3.1 RTC模块结构 132 7.3.2 UNIX时间戳 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.2 USART通信模块 170 8.2.1 串行通信模块的结构与工作原理 170 8.2.2 串行通信模块的寄存器 172 8.2.3 实验部分 174 8.3 SPI通信模块 180 8.3.1 SPI模块的结构与工作原理 180 8.3.2 SPI模块的寄存器 182 8.3.3 实验部分 187 8.4 I2C通信模块 196 8.4.1 STM32的I2C模块简介 196 8.4.2 I2C协议简介 196 8.4.3 I2C模块的寄存器 198 8.4.4 实验部分 204 8.5 局域网控制器 212 8.5.1 CAN协议简介 212 8.5.2 STM32的CAN特性及架构 215 8.5.3 实验部分 216 8.6 可变静态存储控制器 230 8.6.1 FSMC模块的结构与工作原理 230 8.6.2 FSMC的寄存器 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 


      内容摘要
          章 绪论

          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 Magnet 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 等。

       

      配送说明

      ...

      相似商品

      为你推荐

    孔网啦啦啦啦啦纺织女工火锅店第三课

    开播时间:09月02日 10:30

    即将开播,去预约
    直播中,去观看