欢迎光临澳大利亚新华书店网 [登录 | 免费注册]

    • Cortex-M3嵌入式系统开发(STM32单片机体系结构编程与项目实战微课视频版)/清华开发者书库
      • 作者:编者:姜付鹏//刘通//王英合|责编:曾珊//李晔
      • 出版社:清华大学
      • ISBN:9787302610335
      • 出版日期:2023/01/01
      • 页数:325
    • 售价:31.6
  • 内容大纲

        本书以具有Cortex-M3内核的STM32单片机产品为学习对象,以MDK5.14为开发平台,详细介绍此类单片机的系统架构、各种内核和外围设备的基本功能及其实际应用。
        全书分3篇,共19章。入门篇首先讲述ARM的概念,接着介绍Cortex-M3内核的概念、分类、特点、指令集等,使读者对Cortex-M3内核有大体认识。准备篇首先介绍采用Cortex-M3内核的STM32系列的MCU,然后介绍与本书配套的硬件开发套件——天信通采用的STM32F107单片机、软件开发平台MDK5.14,以及MDK的基本应用;接着简单介绍STM32的基础知识,包括系统架构、时钟系统等;以上内容为详解篇讲解STM32的各种内核和外设做准备。详解篇介绍STM32的各种内核和外设的基本功能及其应用,这些内核和外设包括GPIO端口、滴答定时器、NVIC、EXTI、USART、IWDG、WWDG、通用定时器、RTC、电源控制、ADC等。对于每个模块都介绍其功能,从基本原理,到相关底层寄存器,再到ST官方固件库中所包含的与其相关的库函数。在每章最后都会讲解至少一个与STM32的该模块相关的应用实例。此外,本书配套提供应用实例的源代码,方便读者在学习的同时,通过开发板进行实验,亲身体验各模块的功能。
        本书适合高等院校电子信息类、计算机类、自动化类、物联网等相关专业的学生学习。读者在学习时,最好结合STM32开发板和例程源代码,以更加深刻地理解相关内容。
  • 作者介绍

        姜付鹏先生是物联网行业的资深专家,国家科技部项目专家库成员,青岛市智慧城市项目评审专家,青岛市高新区工商联副主席,山东省第一批产业教授,多所大学的外聘教授、专家,山东省校企合作先进个人,青岛市物联网协会首席专家;拥有20多项国家专利,出版过《电磁兼容设计》等多本技术专著;具有电子行业、软件行业、教育行业工作经验,主导设计几十种产品,承担过多项政府研发创新项目;1994-2002年在青岛创统集团;2003-2005在中天股份;2006-2008在洛杉矶的AVT公司从事技术开发3年,从事领域为在线管理系统;2009-2011青岛青岛感知信息科技有限公司等担任产品经理、CTO、公司总经理等职位,2012年创立青岛天信通公司,主要业务为物联网教育产品及物联网行业应用产品两个板块。2015年成立青岛中云数据信息科技有限公司,中云数据的核心产品是基于CyberPhysicalSystem(信息物理融合系统)的行业解决方案,将云计算、大数据、物联网为代表的新一代信息网络技术与行业应用融合创新,为行业应用提供关键技术及解决方案。
  • 目录

    第1篇  入门篇
      第1章  ARM及Cortex-M3概述
        1.1  ARM概述
          1.1.1  ARM公司
          1.1.2  RISC
          1.1.3  ARM微处理器
          1.1.4  ARM微处理器内核及其架构的发展简史
        1.2  Cortex-M3内核
          1.2.1  Cortex内核的分类
          1.2.2  CM3内核的特点
          1.2.3  CM3内核的指令集
        本章小结
    第2篇  准备篇
      第2章  天信通STM32F107开发板
        2.1  STM32系列MCU
        2.2  STM32F107芯片
        2.3  STM32F107开发板资源
        本章小结
      第3章  MDK开发环境
        3.1  STM32官方固件库
          3.1.1  库开发与寄存器开发
          3.1.2  CMSIS
          3.1.3  STM32官方固件库包
        3.2  MDK5简介
        3.3  MDK5的安装
          3.3.1  MDK5的安装步骤
          3.3.2  MDK5的注册
        3.4  基于固件库新建工程模板
        3.5  程序的下载和调试
          3.5.1  程序的下载
          3.5.2  程序的调试
        本章小结
      第4章  STM32基础知识简介
        4.1  STM32的系统架构
        4.2  STM32的时钟系统
        本章小结
    第3篇  详解篇
      第5章  GPIO端口及其应用
        5.1  GPIO端口概述
        5.2  GPIO端口的相关寄存器
          5.2.1  端口配置低寄存器
          5.2.2  端口配置高寄存器
          5.2.3  端口输入数据寄存器
          5.2.4  端口输出数据寄存器
          5.2.5  端口位设置/清除数据寄存器
          5.2.6  端口位清除数据寄存器
        5.3  GPIO端口的相关库函数
          5.3.1  GPIO_Init()函数
          5.3.2  GPIO_SetBits()函数和GPIO_ResetBits()函数
          5.3.3  GPIO_Write()函数和GPIO_WriteBit()函数

          5.3.4  GPIO_ReadInputDataBit()函数、GPIO_ReadInputData()函数、GPIO_ReadOutputDataBit()函数和GPIO_ReadOutputData()函数
          5.3.5  GPIO_DeInit()函数
        5.4  GPIO端口的应用实例
          5.4.1  流水灯
          5.4.2  按键控制LED
        本章小结
      第6章  寄存器的名称和地址的映射关系及位带操作
        6.1  寄存器的名称和地址的映射关系
        6.2  位带操作
          6.2.1  位带操作概述
          6.2.2  位带操作应用实例
        本章小结
      第7章  NVIC与中断管理
        7.1  CM3的异常及其优先级管理
        7.2  NVIC概述
        7.3  NVIC相关的寄存器
          7.3.1  中断使能寄存器组和中断失能寄存器组
          7.3.2  中断挂起寄存器组和中断解挂寄存器组
          7.3.3  中断激活标志位寄存器组
          7.3.4  中断优先级寄存器组
        7.4  NVIC相关的库函数
          7.4.1  NVIC_PriorityGroupConfig()函数
          7.4.2  NVIC_Init()函数
        本章小结
      第8章  EXTI控制器及其应用
        8.1  EXTI控制器概述
        8.2  EXTI相关的寄存器
          8.2.1  中断屏蔽寄存器
          8.2.2  事件屏蔽寄存器
          8.2.3  上升沿触发选择寄存器
          8.2.4  下降沿触发选择寄存器
          8.2.5  软件中断事件寄存器
          8.2.6  挂起寄存器
        8.3  EXTI相关的库函数
          8.3.1  GPIO_EXTILineConfig()函数
          8.3.2  EXTI_Init()函数
          8.3.3  EXTI的中断处理函数
          8.3.4  EXTI_GetITStatus()函数和EXTI_ClearITPendingBit()函数
          8.3.5  EXTI_GetFlagStatus()函数和EXTI_ClearFlag()函数
        8.4  EXTI外部中断的应用实例
        本章小结
      第9章  SysTick定时器及其应用
        9.1  SysTick定时器概述
        9.2  SysTick定时器相关的寄存器
          9.2.1  SysTick控制及状态寄存器
          9.2.2  SysTick重装载数值寄存器
          9.2.3  SysTick当前数值寄存器
        9.3  SysTick定时器相关的库函数
          9.3.1  SysTick_CLKSourceConfig()函数
          9.3.2  SysTick_Config()函数

        9.4  SysTick定时器的应用实例
          9.4.1  中断方式实现定时
          9.4.2  查询方式实现定时
        本章小结
      第10章  USART及其应用
        10.1  串行通信基础知识简介
          10.1.1  异步通信和同步通信
          10.1.2  串行通信的数据传输方向
          10.1.3  串行通信的数据传输速率
          10.1.4  串行通信的错误校验
        10.2  USART概述
        10.3  USART相关的寄存器
          10.3.1  状态寄存器
          10.3.2  数据寄存器
          10.3.3  波特率寄存器
          10.3.4  控制寄存器
        10.4  USART相关的库函数
          10.4.1  USART_Init()函数
          10.4.2  USART_DeInit()函数
          10.4.3  USART_Cmd()函数
          10.4.4  USART_ITConfig()函数
          10.4.5  USART_SendData()函数
          10.4.6  USART_ReceiveData()函数
          10.4.7  USART_GetITStatus()函数和USART_GetFlagStatus()函数
          10.4.8  USART_ClearITPendingBit()函数和USART_ClearFlag()函数
        10.5  端口引脚的复用功能
          10.5.1  端口引脚复用功能的概念
          10.5.2  调用库函数实现端口引脚的复用功能
        10.6  USART的应用实例
        本章小结
      第11章  独立看门狗及其应用
        11.1  看门狗概述
        11.2  IWDG概述
        11.3  IWDG相关的寄存器
          11.3.1  键寄存器(IWDG_KR)
          11.3.2  预分频寄存器(IWDG_PR)
          11.3.3  重装载寄存器(IWDG_RLR)
        11.4  IWDG相关的库函数
          11.4.1  IWDG_WriteAccessCmd()函数
          11.4.2  IWDG_SetPrescaler()函数
          11.4.3  IWDG_SetReload()函数
          11.4.4  IWDG_ReloadCounter()函数
          11.4.5  IWDG_Enable()函数
        11.5  IWDG的应用实例
        本章小结
      第12章  窗口看门狗及其应用
        12.1  WWDG概述
        12.2  WWDG相关的寄存器
          12.2.1  控制寄存器(WWDG_CR)
          12.2.2  配置寄存器(WWDG_CFR)

          12.2.3  状态寄存器(WWDG_SR)
        12.3  WWDG相关的库函数
          12.3.1  WWDG_SetPrescaler()函数
          12.3.2  WWDG_SetWindowValue()函数
          12.3.3  WWDG_EnableIT()函数
          12.3.4  WWDG_SetCounter()函数
          12.3.5  WWDG_Enable()函数
          12.3.6  WWDG_GetFlagStatus()函数
          12.3.7  WWDG_ClearFlag()函数
        12.4  WWDG的应用实例
        本章小结
      第13章  通用定时器及其应用
        13.1  通用定时器概述
        13.2  中断定时相关的寄存器
          13.2.1  计数器当前值寄存器
          13.2.2  预分频器寄存器
          13.2.3  自动重装载寄存器
          13.2.4  控制寄存器
          13.2.5  DMA/中断使能寄存器
          13.2.6  状态寄存器
        13.3  中断定时相关的库函数
          13.3.1  TIM_TimeBaseInit()函数
          13.3.2  TIM_ITConfig()函数
          13.3.3  TIM_Cmd()函数
          13.3.4  TIM_GetITStatus()函数
          13.3.5  TIM_ClearITPendingBit()函数
        13.4  中断定时的应用实例
        本章小结
      第14章  通用定时器及其应用
        14.1  通用定时器捕获/比较通道的输出
        14.2  通用定时器的PWM模式
        14.3  PWM脉宽调制相关的寄存器
          14.3.1  输出模式下的捕获/比较模式寄存器
          14.3.2  输出模式下的捕获/比较使能寄存器
          14.3.3  输出模式下的捕获/比较寄存器
        14.4  PWM脉宽调制相关的库函数
          14.4.1  TIM_OCxInit()函数
          14.4.2  TIM_SetComparex()函数
          14.4.3  TIM_OCxPreloadConfig()函数
        14.5  PWM脉宽调制的应用实例
        本章小结
      第15章  通用定时器及其应用
        15.1  通用定时器捕获/比较通道的输入
        15.2  通用定时器的输入捕获模式
        15.3  通用定时器输入捕获相关的寄存器
          15.3.1  输入模式下的捕获/比较模式寄存器
          15.3.2  输入模式下的捕获/比较使能寄存器
          15.3.3  输入模式下的捕获/比较寄存器
        15.4  通用定时器输入捕获相关的库函数
          15.4.1  TIM_ICxInit()函数

          15.4.2  TIM_OCxPolarityConfig()函数
          15.4.3  TIM_SetCounter()函数
        15.5  输入捕获的应用实例
        本章小结
      第16章  实时时钟
        16.1  RTC概述
        16.2  RTC相关的寄存器
          16.2.1  RTC控制寄存器高位
          16.2.2  RTC控制寄存器低位
          16.2.3  RTC预分频装载寄存器
          16.2.4  RTC预分频余数寄存器
          16.2.5  RTC计数器寄存器
          16.2.6  RTC闹钟寄存器
        16.3  RTC应用相关的其他寄存器
          16.3.1  备份数据寄存器
          16.3.2  备份区域控制寄存器
          16.3.3  APB1外设使能寄存器
          16.3.4  电源控制寄存器
        16.4  RTC相关的库函数
          16.4.1  RTC_WaitForLastTask()函数
          16.4.2  RTC_WaitForSynchro()函数
          16.4.3  RTC_EnterConfigMode()函数
          16.4.4  RTC_ExitConfigMode()函数
          16.4.5  RTC_GetCounter()函数
          16.4.6  RTC_SetCounter()函数
          16.4.7  RTC_SetPrescaler()函数
          16.4.8  RTC_SetAlarm()函数
          16.4.9  RTC_ITConfig()函数
          16.4.10  RTC_GetFlagStatus()函数和RTC_GetITStatus()函数
          16.4.11  RTC_ClearFlag()函数和RTC_ClearITPendingBit()函数
        16.5  RTC应用相关的其他库函数
          16.5.1  RCC_RTCCLKConfig()函数
          16.5.2  RCC_RTCCLKCmd()函数
          16.5.3  PWR_BackupAccessCmd()函数
          16.5.4  RCC_LSEConfig()函数
          16.5.5  RCC_GetFlagStatus()函数
          16.5.6  BKP_ReadBackupRegister()函数
          16.5.7  BKP_WriteBackupRegister()函数
        16.6  RTC应用实例
        本章小结
      第17章  电源控制
        17.1  电源管理
          17.1.1  独立的A/D转换器供电和参考电压
          17.1.2  电池备份区域
          17.1.3  电压调节器
        17.2  低功耗模式
          17.2.1  睡眠模式
          17.2.2  停止模式
          17.2.3  待机模式
          17.2.4  低功耗模式下的自动唤醒

        17.3  电源控制相关的寄存器
          17.3.1  电源控制寄存器
          17.3.2  电源控制/状态寄存器
          17.3.3  系统控制寄存器
        17.4  电源控制相关的库函数
          17.4.1  PWR_WakeUpPinCmd()函数
          17.4.2  PWR_EnterSTANDBYMode()函数
          17.4.3  PWR_EnterSTOPMode()函数
          17.4.4  PWR_GetFlagStatus()函数
          17.4.5  PWR_ClearFlag()函数
        17.5  电源控制的应用实例
        本章小结
      第18章  ADC
        18.1  ADC概述
          18.1.1  ADC简介
          18.1.2  ADC的主要特征
          18.1.3  ADC的功能描述
        18.2  ADC相关的寄存器
          18.2.1  ADC状态寄存器
          18.2.2  ADC控制寄存器
          18.2.3  ADC控制寄存器
          18.2.4  ADC采样时间寄存器
          18.2.5  ADC规则序列寄存器
          18.2.6  ADC注入数据寄存器
          18.2.7  ADC规则数据寄存器
          18.2.8  时钟配置寄存器
        18.3  ADC相关的库函数
          18.3.1  ADC_DeInit()函数
          18.3.2  ADC_Init()函数
          18.3.3  ADC_Cmd()函数
          18.3.4  ADC_ITConfig()函数
          18.3.5  ADC_ResetCalibration()函数
          18.3.6  ADC_GetResetCalibrationStatus(ADC_TypeDef*ADCx)函数
          18.3.7  ADC_StartCalibration(ADC_TypeDef*ADCx)函数
          18.3.8  ADC_GetCalibrationStatus(ADC_TypeDef*ADCx)函数
          18.3.9  ADC_SoftwareStartConvCmd()函数
          18.3.10  ADC_RegularChannelConfig()函数
          18.3.11  ADC_GetConversionValue()函数
          18.3.12  ADC_TempSensorVrefintCmd()函数
          18.3.13  ADC_GetFlagStatus()函数和ADC_GetITStatus()函数
          18.3.14  ADC_ClearFlag()函数和ADC_ClearITPendingBit()函数
        18.4  ADC的应用实例
          18.4.1  读取外部电压值
          18.4.2  获取内部温度值
        本章小结
      第19章  DAC
        19.1  DAC概述
          19.1.1  DAC简介
          19.1.2  DAC的主要特征
        19.2  DAC的功能描述

          19.2.1  使能DAC通道和DAC缓存
          19.2.2  DAC的数据格式
          19.2.3  DAC的转换
          19.2.4  DAC的输出电压
          19.2.5  DAC的触发选择
        19.3  DAC相关的寄存器
          19.3.1  DAC控制寄存器
          19.3.2  DAC软件触发寄存器
          19.3.3  DAC通道1的12位右对齐数据保持寄存器
          19.3.4  DAC通道1的12位左对齐数据保持寄存器
          19.3.5  DAC通道1的8位右对齐数据保持寄存器
          19.3.6  DAC通道1数据输出寄存器
        19.4  DAC相关的库函数
          19.4.1  DAC_DeInit()函数
          19.4.2  DAC_Init()函数
          19.4.3  DAC_Cmd()函数
          19.4.4  DAC_SetChannel1Data()函数和DAC_SetChannel2Data()函数
          19.4.5  DAC_GetDataOutputValue()函数
          19.4.6  DAC_DMACmd()函数
          19.4.7  DAC_SoftwareTriggerCmd()函数
        19.5  DAC的应用实例
        本章小结
      参考文献