搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
ARM Cortex-M3嵌入式原理及应用:基于STM32F103微控制器/清华开发者书库
0.00     定价 ¥ 69.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787302538615
  • 作      者:
    黄克亚
  • 出 版 社 :
    清华大学出版社
  • 出版日期:
    2019-12-01
收藏
编辑推荐

作者根据多年的嵌入式系统教学和开发经验,循序渐进,理论实践并重,共性个性兼顾,将嵌入式系统的理论知识和基于ARM Cortex-M3内核的STM32F103微控制器的实际开发相结合,编写了《ARM Cortex-M3嵌入式原理及应用——基于STM32F103微控制器》一书,并自主设计STM32嵌入式实验板,帮助广大32位MCU初学者快速入门嵌入式系统开发。

全书共15章,分为三部分:第1部分(第1~3章)为系统平台模块,讲述嵌入式系统定义、开发板硬件平台和工程模板创建;第2部分(第4~9章)为基本外设模块,分别对STM32嵌入式系统常用外设模块进行介绍,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术;第3部分(第10~15章)为扩展外设模块,分别对STM32嵌入式系统高级外设模块进行介绍,包括USART、SPI、OLED、ADC、IIC、EEPROM和RTC等。

本书突出特点

 传承51经典,发扬ARM长处,助推MCU升级。

 以读者认知过程为导向编排教材,组织章节内容。

 项目引领,任务驱动,教、学、做一体,注重读者工程实践能力的培养。

 构建全方位、立体化的教学资源网络,助力嵌入式系统教学与项目开发。

说明:凡是选用本书作为教材,并已经订购了30册以上教材的学校任课教师,可以凭订单获赠本教材配的套嵌入式开发板一套,联系本书作者黄克亚教授微信sz_hky获取。


展开
作者简介

黄克亚  软件设计师,苏州大学副教授、硕士生导师,主要从事智能控制、嵌入式系统开发等教学和科研工作。讲授过“电工电子技术”“单片机原理与控制技术”“微机原理及应用”“嵌入式系统开发”“可编程控制器”“传感器应用技术”等课程。近年来主持省级课题2项,授权发明专利1项,登记软件著作权4项,发表EI检索或中文核心期刊论文6篇,指导学生获中国智能机器人大赛一等奖1项、江苏省本专科优秀毕业设计(论文)三等奖1项、全国电子设计大赛江苏赛区二等奖2项。

说明:凡是选用本书作为教材,并已经订购了30册以上教材的学校任课教师,可以凭订单获赠本教材配的套嵌入式开发板一套,联系本书作者黄克亚教授微信sz_hky获取。

展开
内容介绍

  《ARM Cortex-M3嵌入式原理及应用:基于STM32F103微控制器/清华开发者书库》旨在传承51经典,发扬ARM长处,助推MCU升级;以学生认知过程为导向组织教材内容,采取项目代领,全案例讲解的方式,着重培养学生实践应用能力。该书详细阐述了基于ARMCortex-M3内核的STM32F103微控制器嵌入式系统硬件设计方法和软件开发技术。全书共有15章,划分为3部分:第1部分(第1~3章)为系统平台模块,讲述嵌入式系统定义、开发板硬件平台和工程模板创建;第2部分(第4~9章)为基本外设模块,分别对STM32嵌入式系统常用外设模块进行介绍,包括GPIO、中断、定时器、PWM和嵌入式系统接口技术;第3部分(第10~15章)为扩展外设模块,分别对STM32嵌入式系统高级外设模块进行介绍,包括USART、SPI、OLED、ADC、IIC、EEPROM和RTC等。
  《ARM Cortex-M3嵌入式原理及应用:基于STM32F103微控制器/清华开发者书库》适合作为高等院校计算机、自动化、电子信息、机电一体化、物联网等专业高年级本科生或研究生嵌入式相关课程的教材,同时可供从事嵌入式开发的技术和研究人员参考。

说明:凡是选用本书作为教材,并已经订购了30册以上教材的学校任课教师,可以凭订单获赠本教材配的套嵌入式开发板一套,联系本书作者黄克亚教授微信sz_hky获取。

展开
精彩书评

  ★32位微控制器时代已经到来,32位微控制器性能优越,功能强大但结构复杂,使很多嵌入式工程师望而却步!目前,读者对一本好的嵌入式入门教材需求越来越迫切。《ARM Cortex-M3嵌入式原理及应用——基于STM32F103微控制器》是由来自教学一线,有着多年嵌入式开发经验的教师编写,详细阐述了基于ARM Gortex-M3内核的STM32F103微控制器嵌入式系统硬件设计方法和软件开发技术,是一本围绕学习者学习,全案例驱动,由浅入深,循序渐进的优秀嵌入式入门教材。
  ——孙立宁 苏州大学教授、博士生导师、教育部长江学者、国家杰青获得者
  
  ★《ARM Cortex-M3嵌入式原理及应用——基于STM32F103微控制器》一书旨在传承51经典,发扬ARM长处,助推MCU升级。ARM嵌入式系统实际上是8位单片机的升级扩展,但是其高性能必然对应系统复杂度的大幅提高,如果能借助8位单片机理念、方法和案例的共性,有助于提高读者的学习兴趣,使其轻松入门嵌入式开发。
  ——吴国伟 大连理工大学软件学院院长
  
  ★《ARM Cortex-M3嵌入式原理及应用——基于STM32F103微控制器》一书,以读者认知过程为导向设计教材逻辑、组织章节内容。全书先硬件后软件,讲解由浅入深,循序渐进;遵循理论够用,重在实践,上手容易的原则,培养读者学习兴趣,激发学习动力。
  ——宋廷强 青岛科技大学信息科学技术学院副院长
  
  ★《ARM Cortex-M3嵌入式原理及应用——基于STM32F103微控制器》一书采取项目代领,任务驱动的方式,强调教、学、做一体,注重读者工程实践能力的培养。对于每一个典型外设模块,在简明扼要阐述原理的基础上,围绕应用讨论其设计精髓,并给出完整的工程案例。
  ——严海蓉 北京工业大学嵌入式软件与系统系副教授
  
  ★该书配套提供教学课件、录播视频、教学大纲、项目代码和实验素材等全方位、立体化的教学资源,轻松助力嵌入式系统教学与项目开发。
  ——韩勇 中国移动苏州分公司嵌入式系统高级工程师

展开
精彩书摘
  第5章
  LED流水灯与SysTick定时器
  本章要点
  基于库函数的开发方法
  GPIO输出相关库函数
  库函数版LED流水灯程序设计
  SysTick定时器概述、寄存器和应用方法
  SysTick定时器毫秒和微秒延时函数
  SysTick函数嵌入到LED流水灯项目中实现精确延时
  第4章章介绍了STM32的GPIO并给出了通过操作GPIO寄存器的LED灯闪烁程序,使大家对STM32程序设计有一定的了解,本章将首先介绍STM32的库函数开发方式,并详细给出库函数版的LED流水灯程序设计方法。CortexM3处理器内部包含了一个简单的定时器,因为所有的CortexM3芯片都带有这个定时器,软件在不同CortexM3器件间的移植工作得以简化。本章将进一步介绍利用SysTick定时器编写延时函数方法,并将其嵌入到流水灯程序当中,为其提供精确的1s延时程序。
  LED流水灯
  5.1库函数开发方法
  从第4章的分析可以看出,对寄存器操作虽然简单、直接、高效,但是需要对STM32硬件有非常好的理解,并且要记住所有相关寄存器的名称、位定义以及操作方式,这对于绝大部分初学者来说相当不容易。另外,基于寄存器编写出来的程序可读性比较差,不便于系统维护和程序员之间的交流,所以对于初学者和普通程序开发人员,本书推荐另外一种程序开发方法,即基于库函数的开发方法。
  库函数对于程序设计人员并不陌生,我们在学习C语言时,经常会使用到stdio.h库所提供的标准输入输出库函数scanf()和printf()。类似地,为了简化编程开发难度,意法半导体公司向用户提供了STM32标准库函数,又称为STM32固件库,它包括所有标准外设的驱动程序,可以极大地方便用户使用STM32微控制器的片上外设。
  STM32固件库是由ST公司针对STM32微控制器为用户开发提供的API(APPlication Program Interface,应用程序接口)。实际上,STM32固件库是位于寄存器和用户之间的预定义代码,它由程序、数据结构和各种宏定义组成。它向下实现与寄存器的直接相关操作,向上为用户提供配置寄存器的标准接口。通过使用固件库的标准函数,无须深入掌握底层硬件细节,开发者就可以轻松应用每一个外设。就像学习C语言编程使用库函数printf()和scanf()时,只是学习它们的调用方法,并没有去研究它们的源代码实现一样。
  显而易见,相比于寄存器开发方式,基于库函数的开发方式具有容易学习、便于阅读和维护成本低等优点,降低了开发难度和门槛,缩短了开发周期。标准库函数由于考虑到软件通用性,需要面面俱到,为提高软件的鲁棒性,需要对软件参数进行检测,这些都会使得库函数方式生成的代码较直接配置寄存器方式要大一些。但是由于STM32拥有充足的硬件资源,权衡利弊,绝大多数情况下,宁愿牺牲一点资源而选择库函数开发。通常,只有在对代码运行时间要求极其苛刻的场合,例如,频繁调用的异常服务程序,才会选择寄存器方式编写程序。随着意法半导体官方固件库的不断丰富和完善,库函数方式目前已经成为STM32嵌入式开发的首选。
  5.2GPIO输出库函数
  由LED流水灯控制电路可知,需要配置PC口为输出方式,并设置PC0~PC7的电平状态,以点亮或是熄灭LED指示灯。现将涉及的库函数一一详解如下,因为这是本书第一次介绍库函数,所以讲解要详尽一些。
  5.2.1函数RCC_APB2PeriphClockCmd
  表51描述了函数RCC_APB2PeriphClockCmd。
  表51函数RCC_APB2PeriphClockCmd
  函数名RCC_APB2PeriphClockCmd
  函数原型void RCC_APB2PeriphClockCmd(u32 RCC_APB2Periph,FunctionalState NewState)
  功能描述使能或者失能APB2外设时钟
  输入参数1
  RCC_APB2Periph: 门控APB2外设时钟
  参阅Section: RCC_APB2Periph,查阅更多该参数允许取值范围
  输入参数2
  New State: 指定外设时钟的新状态
  这个参数可以取: ENABLE或者DISABLE
  输出参数无
  返回值无
  先决条件无
  被调用函数无
  RCC_APB2Periph参数:
  该参数被门控的APB2外设时钟,可以取下表的一个或者多个取值的组合作为该参数的值。
  表52RCC_AHB2Periph值
  RCC_AHB2Periph描述
  RCC_APB2Periph_AFIO功能复用I/O时钟
  RCC_APB2Periph_GPIOAGPIOA时钟
  RCC_APB2Periph_GPIOBGPIOB时钟
  RCC_APB2Periph_GPIOCGPIOC时钟
  RCC_APB2Periph_GPIODGPIOD时钟
  RCC_APB2Periph_GPIOEGPIOE时钟
  RCC_APB2Periph_ADC1ADC1时钟
  RCC_APB2Periph_ADC2ADC2时钟
  RCC_APB2Periph_TIM1TIM1时钟
  RCC_APB2Periph_SPI1SPI1时钟
  RCC_APB2Periph_USART1USART1时钟
  RCC_APB2Periph_ALL全部APB2外设时钟
  例如:
  /* Enable GPIOA, GPIOB and SPI1 clocks */
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
  RCC_APB2Periph_SPI1, ENABLE);
  此函数用于打开挂接在APB2总线上的外设时钟,要打开哪一个设备只要将其名称作为参数填入到函数中即可,如果是要打开多个设备的时钟,多个设备的名称用“|”号连接。
  例如,对于LED流水灯控制来说,因为LED的阴极由STM32单片机的GPIOC口控制的,所以需要调用该函数打开GPIO时钟,其语句为:
  RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  ……
展开
目录

第1章 ARM Cortex-M3嵌入式系统
1.1 嵌入式系统概述
1.1.1 什么是嵌入式系统
1.1.2 嵌入式系统和通用计算机系统比较
1.1.3 嵌入式系统的特点
1.1.4 嵌入式系统的应用领域
1.1.5 嵌入式系统范例
1.2 ARM Cortex-M3处理器
1.2.1 ARM公司
1.2.2 ARM处理器
1.3 STM32微控制器
1.3.1 从Cortex-M3内核到基于Cortex-M3的MCU
1.3.2 STM32微控制器产品线
1.3.3 STM32微控制器命名规则
1.4 嵌入式系统的软件
1. 4.1 无操作系统的嵌入式软件
1.4.2 带操作系统的嵌入式软件
1.4.3 典型嵌入式操作系统
1.4.4 软件架构选择建议
本章小结
思考与扩展

第2章 STM32开发板硬件系统
2.1 开发板总体概况
2.1.1 开发板设计背景
2.1.2 开发板总体介绍
2.2 电源模块
2.2.1 电源模块原理图
2.2.2 电源模块工作原理
2.3 核心板电路
2.3.1 CPU模块
2.3.2 串口通信模块
2.3.3 外接晶振模块
2.3.4 备用电源模块
2.3.5 ADC模块电源
2.3.6 CPU滤波电路
2.3.7 复位电路
2.3.8 启动设置电路
2.4 110模块电路
2.4.1 LED指示灯模块
2.4.2 按键模块
2.4.3 数码管模块
2.4.4 蜂鸣器模块
2.4.5 0LED显示屏电路
2.5 扩展模块电路
2.5.1 温度传感器
2.5.2 红外传感器
2.5.3 AD采样模块
2.5.4 EEPROM存储器
2.5.5 I/O引脚外接模块
本章小结
思考与扩展

第3章 MDK软件与工程模板创建
3.1 STM32固件库认知
3.1.1 STM32固件库概述
3.1.2 STM32固件库下载
3.1.3 STM32固件库目录结构
3.2 工程模板创建
3.2.1 Keil MDK-ARM软件简介
3.2.2 工程模板的创建
3.3 软件模拟仿真
本章小结
……
第4章 通用目的输入输出口
第5章 LED流水灯与SysTick定时器
第6章 按键输入与蜂鸣器
第7章 数码管动态显示
第8章 中断系统与基本应用
第9章 定时器与脉冲宽度调制
第10章 串行通信接口USART
第11章 SPI与OLED显示屏
第12章 模拟数字转换器
第13章 直接存储器访问
第14章 I2C接口与EEPROM存储器
第15章 RTC时钟与BKP寄存器
附录A ASCII码表
附录B STM32F103微控器小容量产品系列引脚定义表
附录C STM32F103微控器中等容量产品系列引脚定义表
附录D STM32F103微控器大容量产品系列引脚定义表
参考文献

展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录