嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材

嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , ,
2016-09
版次: 1
ISBN: 9787302441359
定价: 89.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 596页
字数: 913千字
正文语种: 简体中文
430人买过
  •   本书通过与常见的桌面通用系统比较,引入嵌入式系统的基本概念,主要介绍ARM CortexM3内核以及意法半导体公司推出的基于ARM CortexM3内核的STM32F103微控制器。
      全书共分3篇 第1篇(第1、2章)为系统篇,介绍嵌入式系统及其开发的基本概念;第2篇(第3、4章)为内核篇,分析ARM CortexM3内核以及基于ARM CortexM3内核的STM32F103微控制器的体系结构、工作原理、编程模型和开发方法等;第3篇(第5~12章)为片内外设篇,基于STM32F103微控制器讲述常用的片上外设∕接口,包括GPIO、定时器、EXTI、DMA、ADC、USART、SPI和I2C等,并分别给出在KEIL MDK下采用库函数方式使用这些片上外设∕接口进行应用开发的典型案例。
      本书适合作为高等院校计算机、自动化、电子信息等电气信息类专业高年级本科生、研究生嵌入式相关课程的教材,同时可供从事嵌入式开发的技术和研究人员参考。

    第1篇系统篇
    第1章嵌入式系统概述3
    1.1嵌入式系统的定义和特点3
    1.1.1嵌入式系统的定义3
    1.1.2嵌入式系统和通用计算机比较4
    1.1.3嵌入式系统的特点5
    1.2嵌入式系统的硬件6
    1.2.1嵌入式处理器7
    1.2.2嵌入式存储器15
    1.2.3嵌入式I/O设备18
    1.2.4嵌入式I/O接口18
    1.3嵌入式系统的软件21
    1.3.1无操作系统的嵌入式软件22
    1.3.2带操作系统的嵌入式软件24
    1.4嵌入式系统的分类27
    1.4.1按硬件(嵌入式处理器)划分27
    1.4.2按软件复杂度划分27
    1.4.3按实时性划分28
    1.4.4按使用对象划分28
    1.5嵌入式系统的应用28
    1.5.1国防军事28
    1.5.2工业控制29
    1.5.3消费电子30
    1.5.4办公自动化产品30
    1.5.5网络和通信设备30
    1.5.6汽车电子31◆嵌入式系统原理及应用目录1.5.7金融商业31
    1.5.8生物医学32
    1.5.9信息家电32
    1.6本章小结34
    习题134
    第2章嵌入式系统开发35
    2.1嵌入式系统的开发环境、开发工具和调试方式35
    2.1.1嵌入式系统的开发环境35
    2.1.2嵌入式系统的开发工具37
    2.1.3嵌入式系统的调试方式43
    2.2嵌入式系统的开发语言50
    2.2.1嵌入式硬件开发语言50
    2.2.2嵌入式软件开发语言51
    2.3嵌入式系统的开发过程53
    2.3.1需求分析54
    2.3.2系统设计55
    2.3.3系统实现61
    2.3.4系统测试70
    2.3.5系统发布73
    2.4嵌入式开发工程师之路74
    2.4.1嵌入式行业和人才的现状分析74
    2.4.2嵌入式开发工程师的能力要求74
    2.4.3嵌入式开发工程师的进阶之路75
    2.5本章小结77
    习题278
    第2篇内核篇
    第3章ARM CortexM3处理器81
    3.1ARM CortexM3组成结构81
    3.1.1CortexM3内核82
    3.1.2调试系统84
    3.2ARM CortexM3总线接口86
    3.2.1CortexM3总线接口类型87
    3.2.2CortexM3总线连接方案88
    3.3ARM CortexM3编程模型89
    3.3.1工作状态89
    3.3.2数据类型89
    3.3.3寄存器89
    3.3.4指令系统93
    3.3.5操作模式和特权分级96
    3.3.6异常和中断98
    3.3.7双堆栈机制105
    3.4ARM CortexM3存储器系统107
    3.4.1存储器映射107
    3.4.2位带操作110
    3.4.3存储格式112
    3.5ARM CortexM3的低功耗模式113
    3.6本章小结114
    习题3115
    第4章基于ARM CortexM3的STM32微控制器117
    4.1从CortexM3到基于CortexM3的MCU117
    4.2基于CortexM3的STM32系列微控制器概述118
    4.2.1产品线118
    4.2.2命名规则124
    4.2.3生态系统125
    4.2.4开发方法131
    4.2.5学习之路134
    4.3STM32F103微控制器基础136
    4.3.1概述136
    4.3.2主系统结构137
    4.3.3功能模块139
    4.3.4引脚定义140
    4.3.5存储器组织141
    4.4STM32F103微控制器的最小系统145
    4.4.1电源电路145
    4.4.2时钟电路148
    4.4.3复位电路149
    4.4.4调试和下载电路150
    4.4.5其他151
    4.5STM32F103微控制器的时钟系统153
    4.5.1输入时钟153
    4.5.2系统时钟155
    4.5.3由系统时钟分频得到的其他时钟155
    4.5.4STM32F10x时钟系统相关库函数157
    4.6STM32F103微控制器的低功耗模式162
    4.6.1睡眠模式163
    4.6.2停机模式163
    4.6.3待机模式164
    4.7STM32F103微控制器的安全特性165
    4.7.1看门狗165
    4.7.2电源检测166
    4.7.3时钟安全系统166
    4.8STM32F103微控制器的启动过程167
    4.8.1启动过程和启动代码概述167
    4.8.2ARM启动代码所需汇编语言基础167
    4.8.3STM32F103的启动代码分析171
    4.8.4STM32F103的启动过程分析182
    4.9建立第一个STM32F103应用工程185
    4.9.1STM32F10x标准外设库的下载和认知185
    4.9.2嵌入式开发工具的下载和安装198
    4.9.3配置STM32F103工程198
    4.9.4编写用户程序源代码206
    4.9.5编译和链接STM32F103工程207
    4.9.6调试STM32F103工程208
    4.9.7将可执行程序下载到STM32F103运行215
    4.10本章小结217
    习题4217
    第3篇片内外设篇
    第5章GPIO221
    5.1GPIO概述221
    5.2STM32F103的GPIO工作原理221
    5.2.1内部结构222
    5.2.2工作模式224
    5.2.3输出速度224
    5.2.4复用功能重映射225
    5.2.5外部中断映射和事件输出228
    5.2.6主要特性228
    5.3STM32F10x的GPIO相关库函数228
    5.3.1GPIO_DeInit229
    5.3.2GPIO_Init229
    5.3.3GPIO_SetBits231
    5.3.4GPIO_ResetBits231
    5.3.5GPIO_Write232
    5.3.6GPIO_ReadOutputDataBit232
    5.3.7GPIO_ReadOutputData232
    5.3.8GPIO_ReadInputDataBit233
    5.3.9GPIO_ReadInputData233
    5.3.10GPIO_EXTILineConfig233
    5.3.11GPIO_PinRemapConfig234
    5.4STM32F103的GPIO开发实例——LED闪烁235
    5.4.1功能要求235
    5.4.2硬件设计235
    5.4.3软件流程设计236
    5.4.4软件代码实现236
    5.4.5软件模拟仿真238
    5.4.6下载到硬件运行241
    5.4.7开发经验小结——STM32微控制器开发的一般步骤241
    5.5STM32F103的GPIO开发实例——按键控制LED亮灭241
    5.5.1功能要求241
    5.5.2硬件设计241
    5.5.3软件流程设计242
    5.5.4软件代码实现243
    5.5.5软件模拟仿真244
    5.5.6下载到硬件运行246
    5.5.7开发经验小结——使用库函数开发STM32F103的GPIO246
    5.6本章小结247
    习题5248
    第6章定时器249
    6.1定时器概述249
    6.1.1延时的实现249
    6.1.2可编程定时/计数器功能概述251
    6.2STM32F103的定时器概述252
    6.3STM32F103的基本定时器TIM6和TIM7252
    6.3.1内部结构253
    6.3.2时钟源253
    6.3.3计数模式254
    6.3.4主要特性254
    6.4STM32F103的通用定时器TIM2—TIM5254
    6.4.1内部结构254
    6.4.2时钟源256
    6.4.3计数模式257
    6.4.4输出比较模式259
    6.4.5PWM输出模式259
    6.4.6输入捕获模式262
    6.4.7PWM输入模式262
    6.4.8单脉冲模式263
    6.4.9编码器接口263
    6.4.10主要特性263
    6.5STM32F103的高级定时器TIM1和TIM8264
    6.5.1内部结构264
    6.5.2时钟源264
    6.5.3功能描述266
    6.5.4主要特性266
    6.6STM32F10x定时器相关库函数266
    6.6.1TIM_DeInit267
    6.6.2TIM_TimeBaseInit268
    6.6.3TIM_OC1Init269
    6.6.4TIM_OC2Init270
    6.6.5TIM_OC3Init271
    6.6.6TIM_OC4Init271
    6.6.7TIM_OC1PreloadConfig272
    6.6.8TIM_OC2PreloadConfig272
    6.6.9TIM_OC3PreloadConfig272
    6.6.10TIM_OC4PreloadConfig273
    6.6.11TIM_ARRPreloadConfig273
    6.6.12TIM_CtrlPWMOutputs274
    6.6.13TIM_Cmd274
    6.6.14TIM_GetFlagStatus275
    6.6.15TIM_ClearFlag275
    6.6.16TIM_ITConfig276
    6.6.17TIM_GetITStatus276
    6.6.18TIM_ClearITPendingBit277
    6.7STM32F103定时器开发实例——精确定时的LED闪烁277
    6.7.1功能要求277
    6.7.2硬件设计277
    6.7.3软件流程设计278
    6.7.4软件代码实现279
    6.7.5软件模拟仿真281
    6.7.6下载到硬件运行283
    6.7.7开发经验小结——使用printf在调试窗口输出284
    6.8STM32F103定时器开发实例——PWM输出285
    6.8.1功能要求285
    6.8.2硬件设计286
    6.8.3软件流程设计286
    6.8.4软件代码实现288
    6.8.5软件模拟仿真289
    6.8.6下载到硬件运行291
    6.8.7开发经验小结——基于无限循环的嵌入式软件架构291
    6.9本章小结292
    习题6292
    第7章中断293
    7.1中断的基本概念293
    7.1.1中断源294
    7.1.2中断屏蔽294
    7.1.3中断处理过程294
    7.1.4中断优先级296
    7.1.5中断嵌套297
    7.1.6中断的利与弊298
    7.2STM32F103中断系统298
    7.2.1嵌套向量中断控制器NVIC298
    7.2.2STM32F103中断优先级299
    7.2.3STM32F103中断向量表300
    7.2.4STM32F103中断服务函数303
    7.2.5STM32F103中断设置过程304
    7.3STM32F103外部中断/事件控制器EXTI306
    7.3.1内部结构307
    7.3.2工作原理308
    7.3.3主要特性309
    7.4STM32F10x的NVIC相关库函数309
    7.4.1NVIC_PriorityGroupConfig310
    7.4.2NVIC_Init310
    7.4.3NVIC_DeInit313
    7.5STM32F10x的EXTI相关库函数314
    7.5.1EXTI_DeInit314
    7.5.2EXTI_Init314
    7.5.3EXTI_GetFlagStatus316
    7.5.4EXTI_ClearFlag316
    7.5.5EXTI_GetITStatus317
    7.5.6EXTI_ClearITPendingBit317
    7.6STM32F103的中断开发实例——按键控制LED亮灭318
    7.6.1功能要求318
    7.6.2硬件设计318
    7.6.3软件流程设计319
    7.6.4软件代码实现320
    7.6.5下载到硬件运行323
    7.6.6开发经验小结——前/后台嵌入式软件架构323
    7.7STM32F103的中断开发实例——精确延时的LED闪烁325
    7.7.1功能要求325
    7.7.2硬件设计325
    7.7.3软件流程设计326
    7.7.4软件代码实现328
    7.7.5软件代码分析——volatile331
    7.7.6软件模拟仿真332
    7.7.7下载到硬件运行334
    7.7.8开发经验小结——改进的前/后台嵌入式软件架构334
    7.8本章小结336
    习题7336
    第8章DMA337
    8.1DMA的基本概念337
    8.1.1DMA的引入337
    8.1.2DMA的定义338
    8.1.3DMA传输要素338
    8.1.4DMA传输过程338
    8.1.5DMA的特点与应用339
    8.2STM32F103的DMA工作原理339
    8.2.1功能框图340
    8.2.2触发通道341
    8.2.3优先级344
    8.2.4传输模式344
    8.2.5主要特性344
    8.3STM32F10x的DMA相关库函数345
    8.3.1DMA_DeInit346
    8.3.2DMA_Init346
    8.3.3DMA_GetCurrDataCounter348
    8.3.4DMA_Cmd348
    8.3.5DMA_GetFlagStatus349
    8.3.6DMA_ClearFlag350
    8.3.7DMA_ITConfig351
    8.3.8DMA_GetITStatus351
    8.3.9DMA_ClearITPendingBit353
    8.4STM32F103的DMA开发实例——存储器间的数据传输353
    8.4.1功能要求353
    8.4.2硬件设计353
    8.4.3软件流程设计354
    8.4.4软件代码实现355
    8.4.5软件代码分析——const358
    8.4.6下载硬件调试358
    8.4.7开发经验小结——使用DMA365
    8.5本章小结366
    习题8366
    第9章ADC367
    9.1ADC概述367
    9.1.1ADC的由来367
    9.1.2ADC的基本原理368
    9.1.3ADC的性能参数370
    9.1.4ADC的主要类型371
    9.2STM32F103的ADC工作原理372
    9.2.1主要特性373
    9.2.2内部结构373
    9.2.3ADC通道及分组375
    9.2.4ADC触发转换376
    9.2.5ADC时钟和转换时间377
    9.2.6ADC工作过程378
    9.2.7ADC中断和DMA请求378
    9.2.8独立模式和双ADC模式380
    9.2.9单次和连续转换模式380
    9.2.10扫描模式381
    9.2.11间断模式383
    9.2.12校准384
    9.3STM32F10x的ADC相关库函数384
    9.3.1ADC_DeInit386
    9.3.2ADC_Init386
    9.3.3ADC_RegularChannelConfig388
    9.3.4ADC_InjectedChannelConfig390
    9.3.5ADC_InjectedSequencerLengthConfig390
    9.3.6ADC_SetInjectedOffset391
    9.3.7ADC_TampSensorVrefintCmd391
    9.3.8ADC_Cmd392
    9.3.9ADC_ResetCalibration392
    9.3.10ADC_GetResetCalibrationStatus392
    9.3.11ADC_StartCalibration393
    9.3.12ADC_GetCalibrationStatus393
    9.3.13ADC_SoftwareStartConvCmd394
    9.3.14ADC_ExternalTrigConvCmd394
    9.3.15ADC_SoftwareStartInjectedConvCmd395
    9.3.16ADC_ExternalTrigInjectedConvCmd395
    9.3.17ADC_ExternalTrigInjectedConvConfig396
    9.3.18ADC_AutoInjectedConvCmd397
    9.3.19ADC_DiscModeCmd397
    9.3.20ADC_DiscModeChannelCountConfig398
    9.3.21ADC_InjectedDiscModeCmd398
    9.3.22ADC_GetConversionValue398
    9.3.23ADC_GetInjectedConversionValue399
    9.3.24ADC_GetFlagStatus399
    9.3.25ADC_ClearFlag400
    9.3.26ADC_ITConfig400
    9.3.27ADC_GetITStatus401
    9.3.28ADC_ClearITPendingBit401
    9.3.29ADC_DMACmd402
    9.4STM32F103的ADC开发实例——读取GPIO引脚电压402
    9.4.1功能要求402
    9.4.2硬件设计402
    9.4.3软件流程设计403
    9.4.4软件代码实现406
    9.4.5软件模拟仿真409
    9.4.6下载到硬件调试413
    9.4.7开发经验小结——使用软件滤波降低噪声414
    9.5STM32F103的ADC开发实例——读取芯片温度414
    9.5.1功能要求414
    9.5.2硬件设计414
    9.5.3软件流程设计415
    9.5.4软件代码实现418
    9.5.5下载到硬件调试421
    9.5.6开发经验小结——轮询、中断和DMA422
    9.6本章小结423
    习题9423
    第10章UART425
    10.1数据通信的基本概念426
    10.1.1并行和串行426
    10.1.2单工、半双工和全双工426
    10.1.3同步和异步426
    10.2UART通信原理427
    10.2.1UART的物理层427
    10.2.2UART的协议层430
    10.3STM32F103的USART工作原理432
    10.3.1主要特性432
    10.3.2内部结构432
    10.3.3USART中断435
    10.3.4使用DMA进行USART通信436
    10.4STM32F10x的USART相关库函数437
    10.4.1USART_DeInit438
    10.4.2USART_Init438
    10.4.3USART_Cmd439
    10.4.4USART_SendData440
    10.4.5USART_ReceiveData440
    10.4.6USART_GetFlagStatus441
    10.4.7USART_ClearFlag441

  • 内容简介:
      本书通过与常见的桌面通用系统比较,引入嵌入式系统的基本概念,主要介绍ARM CortexM3内核以及意法半导体公司推出的基于ARM CortexM3内核的STM32F103微控制器。
      全书共分3篇 第1篇(第1、2章)为系统篇,介绍嵌入式系统及其开发的基本概念;第2篇(第3、4章)为内核篇,分析ARM CortexM3内核以及基于ARM CortexM3内核的STM32F103微控制器的体系结构、工作原理、编程模型和开发方法等;第3篇(第5~12章)为片内外设篇,基于STM32F103微控制器讲述常用的片上外设∕接口,包括GPIO、定时器、EXTI、DMA、ADC、USART、SPI和I2C等,并分别给出在KEIL MDK下采用库函数方式使用这些片上外设∕接口进行应用开发的典型案例。
      本书适合作为高等院校计算机、自动化、电子信息等电气信息类专业高年级本科生、研究生嵌入式相关课程的教材,同时可供从事嵌入式开发的技术和研究人员参考。

  • 目录:
    第1篇系统篇
    第1章嵌入式系统概述3
    1.1嵌入式系统的定义和特点3
    1.1.1嵌入式系统的定义3
    1.1.2嵌入式系统和通用计算机比较4
    1.1.3嵌入式系统的特点5
    1.2嵌入式系统的硬件6
    1.2.1嵌入式处理器7
    1.2.2嵌入式存储器15
    1.2.3嵌入式I/O设备18
    1.2.4嵌入式I/O接口18
    1.3嵌入式系统的软件21
    1.3.1无操作系统的嵌入式软件22
    1.3.2带操作系统的嵌入式软件24
    1.4嵌入式系统的分类27
    1.4.1按硬件(嵌入式处理器)划分27
    1.4.2按软件复杂度划分27
    1.4.3按实时性划分28
    1.4.4按使用对象划分28
    1.5嵌入式系统的应用28
    1.5.1国防军事28
    1.5.2工业控制29
    1.5.3消费电子30
    1.5.4办公自动化产品30
    1.5.5网络和通信设备30
    1.5.6汽车电子31◆嵌入式系统原理及应用目录1.5.7金融商业31
    1.5.8生物医学32
    1.5.9信息家电32
    1.6本章小结34
    习题134
    第2章嵌入式系统开发35
    2.1嵌入式系统的开发环境、开发工具和调试方式35
    2.1.1嵌入式系统的开发环境35
    2.1.2嵌入式系统的开发工具37
    2.1.3嵌入式系统的调试方式43
    2.2嵌入式系统的开发语言50
    2.2.1嵌入式硬件开发语言50
    2.2.2嵌入式软件开发语言51
    2.3嵌入式系统的开发过程53
    2.3.1需求分析54
    2.3.2系统设计55
    2.3.3系统实现61
    2.3.4系统测试70
    2.3.5系统发布73
    2.4嵌入式开发工程师之路74
    2.4.1嵌入式行业和人才的现状分析74
    2.4.2嵌入式开发工程师的能力要求74
    2.4.3嵌入式开发工程师的进阶之路75
    2.5本章小结77
    习题278
    第2篇内核篇
    第3章ARM CortexM3处理器81
    3.1ARM CortexM3组成结构81
    3.1.1CortexM3内核82
    3.1.2调试系统84
    3.2ARM CortexM3总线接口86
    3.2.1CortexM3总线接口类型87
    3.2.2CortexM3总线连接方案88
    3.3ARM CortexM3编程模型89
    3.3.1工作状态89
    3.3.2数据类型89
    3.3.3寄存器89
    3.3.4指令系统93
    3.3.5操作模式和特权分级96
    3.3.6异常和中断98
    3.3.7双堆栈机制105
    3.4ARM CortexM3存储器系统107
    3.4.1存储器映射107
    3.4.2位带操作110
    3.4.3存储格式112
    3.5ARM CortexM3的低功耗模式113
    3.6本章小结114
    习题3115
    第4章基于ARM CortexM3的STM32微控制器117
    4.1从CortexM3到基于CortexM3的MCU117
    4.2基于CortexM3的STM32系列微控制器概述118
    4.2.1产品线118
    4.2.2命名规则124
    4.2.3生态系统125
    4.2.4开发方法131
    4.2.5学习之路134
    4.3STM32F103微控制器基础136
    4.3.1概述136
    4.3.2主系统结构137
    4.3.3功能模块139
    4.3.4引脚定义140
    4.3.5存储器组织141
    4.4STM32F103微控制器的最小系统145
    4.4.1电源电路145
    4.4.2时钟电路148
    4.4.3复位电路149
    4.4.4调试和下载电路150
    4.4.5其他151
    4.5STM32F103微控制器的时钟系统153
    4.5.1输入时钟153
    4.5.2系统时钟155
    4.5.3由系统时钟分频得到的其他时钟155
    4.5.4STM32F10x时钟系统相关库函数157
    4.6STM32F103微控制器的低功耗模式162
    4.6.1睡眠模式163
    4.6.2停机模式163
    4.6.3待机模式164
    4.7STM32F103微控制器的安全特性165
    4.7.1看门狗165
    4.7.2电源检测166
    4.7.3时钟安全系统166
    4.8STM32F103微控制器的启动过程167
    4.8.1启动过程和启动代码概述167
    4.8.2ARM启动代码所需汇编语言基础167
    4.8.3STM32F103的启动代码分析171
    4.8.4STM32F103的启动过程分析182
    4.9建立第一个STM32F103应用工程185
    4.9.1STM32F10x标准外设库的下载和认知185
    4.9.2嵌入式开发工具的下载和安装198
    4.9.3配置STM32F103工程198
    4.9.4编写用户程序源代码206
    4.9.5编译和链接STM32F103工程207
    4.9.6调试STM32F103工程208
    4.9.7将可执行程序下载到STM32F103运行215
    4.10本章小结217
    习题4217
    第3篇片内外设篇
    第5章GPIO221
    5.1GPIO概述221
    5.2STM32F103的GPIO工作原理221
    5.2.1内部结构222
    5.2.2工作模式224
    5.2.3输出速度224
    5.2.4复用功能重映射225
    5.2.5外部中断映射和事件输出228
    5.2.6主要特性228
    5.3STM32F10x的GPIO相关库函数228
    5.3.1GPIO_DeInit229
    5.3.2GPIO_Init229
    5.3.3GPIO_SetBits231
    5.3.4GPIO_ResetBits231
    5.3.5GPIO_Write232
    5.3.6GPIO_ReadOutputDataBit232
    5.3.7GPIO_ReadOutputData232
    5.3.8GPIO_ReadInputDataBit233
    5.3.9GPIO_ReadInputData233
    5.3.10GPIO_EXTILineConfig233
    5.3.11GPIO_PinRemapConfig234
    5.4STM32F103的GPIO开发实例——LED闪烁235
    5.4.1功能要求235
    5.4.2硬件设计235
    5.4.3软件流程设计236
    5.4.4软件代码实现236
    5.4.5软件模拟仿真238
    5.4.6下载到硬件运行241
    5.4.7开发经验小结——STM32微控制器开发的一般步骤241
    5.5STM32F103的GPIO开发实例——按键控制LED亮灭241
    5.5.1功能要求241
    5.5.2硬件设计241
    5.5.3软件流程设计242
    5.5.4软件代码实现243
    5.5.5软件模拟仿真244
    5.5.6下载到硬件运行246
    5.5.7开发经验小结——使用库函数开发STM32F103的GPIO246
    5.6本章小结247
    习题5248
    第6章定时器249
    6.1定时器概述249
    6.1.1延时的实现249
    6.1.2可编程定时/计数器功能概述251
    6.2STM32F103的定时器概述252
    6.3STM32F103的基本定时器TIM6和TIM7252
    6.3.1内部结构253
    6.3.2时钟源253
    6.3.3计数模式254
    6.3.4主要特性254
    6.4STM32F103的通用定时器TIM2—TIM5254
    6.4.1内部结构254
    6.4.2时钟源256
    6.4.3计数模式257
    6.4.4输出比较模式259
    6.4.5PWM输出模式259
    6.4.6输入捕获模式262
    6.4.7PWM输入模式262
    6.4.8单脉冲模式263
    6.4.9编码器接口263
    6.4.10主要特性263
    6.5STM32F103的高级定时器TIM1和TIM8264
    6.5.1内部结构264
    6.5.2时钟源264
    6.5.3功能描述266
    6.5.4主要特性266
    6.6STM32F10x定时器相关库函数266
    6.6.1TIM_DeInit267
    6.6.2TIM_TimeBaseInit268
    6.6.3TIM_OC1Init269
    6.6.4TIM_OC2Init270
    6.6.5TIM_OC3Init271
    6.6.6TIM_OC4Init271
    6.6.7TIM_OC1PreloadConfig272
    6.6.8TIM_OC2PreloadConfig272
    6.6.9TIM_OC3PreloadConfig272
    6.6.10TIM_OC4PreloadConfig273
    6.6.11TIM_ARRPreloadConfig273
    6.6.12TIM_CtrlPWMOutputs274
    6.6.13TIM_Cmd274
    6.6.14TIM_GetFlagStatus275
    6.6.15TIM_ClearFlag275
    6.6.16TIM_ITConfig276
    6.6.17TIM_GetITStatus276
    6.6.18TIM_ClearITPendingBit277
    6.7STM32F103定时器开发实例——精确定时的LED闪烁277
    6.7.1功能要求277
    6.7.2硬件设计277
    6.7.3软件流程设计278
    6.7.4软件代码实现279
    6.7.5软件模拟仿真281
    6.7.6下载到硬件运行283
    6.7.7开发经验小结——使用printf在调试窗口输出284
    6.8STM32F103定时器开发实例——PWM输出285
    6.8.1功能要求285
    6.8.2硬件设计286
    6.8.3软件流程设计286
    6.8.4软件代码实现288
    6.8.5软件模拟仿真289
    6.8.6下载到硬件运行291
    6.8.7开发经验小结——基于无限循环的嵌入式软件架构291
    6.9本章小结292
    习题6292
    第7章中断293
    7.1中断的基本概念293
    7.1.1中断源294
    7.1.2中断屏蔽294
    7.1.3中断处理过程294
    7.1.4中断优先级296
    7.1.5中断嵌套297
    7.1.6中断的利与弊298
    7.2STM32F103中断系统298
    7.2.1嵌套向量中断控制器NVIC298
    7.2.2STM32F103中断优先级299
    7.2.3STM32F103中断向量表300
    7.2.4STM32F103中断服务函数303
    7.2.5STM32F103中断设置过程304
    7.3STM32F103外部中断/事件控制器EXTI306
    7.3.1内部结构307
    7.3.2工作原理308
    7.3.3主要特性309
    7.4STM32F10x的NVIC相关库函数309
    7.4.1NVIC_PriorityGroupConfig310
    7.4.2NVIC_Init310
    7.4.3NVIC_DeInit313
    7.5STM32F10x的EXTI相关库函数314
    7.5.1EXTI_DeInit314
    7.5.2EXTI_Init314
    7.5.3EXTI_GetFlagStatus316
    7.5.4EXTI_ClearFlag316
    7.5.5EXTI_GetITStatus317
    7.5.6EXTI_ClearITPendingBit317
    7.6STM32F103的中断开发实例——按键控制LED亮灭318
    7.6.1功能要求318
    7.6.2硬件设计318
    7.6.3软件流程设计319
    7.6.4软件代码实现320
    7.6.5下载到硬件运行323
    7.6.6开发经验小结——前/后台嵌入式软件架构323
    7.7STM32F103的中断开发实例——精确延时的LED闪烁325
    7.7.1功能要求325
    7.7.2硬件设计325
    7.7.3软件流程设计326
    7.7.4软件代码实现328
    7.7.5软件代码分析——volatile331
    7.7.6软件模拟仿真332
    7.7.7下载到硬件运行334
    7.7.8开发经验小结——改进的前/后台嵌入式软件架构334
    7.8本章小结336
    习题7336
    第8章DMA337
    8.1DMA的基本概念337
    8.1.1DMA的引入337
    8.1.2DMA的定义338
    8.1.3DMA传输要素338
    8.1.4DMA传输过程338
    8.1.5DMA的特点与应用339
    8.2STM32F103的DMA工作原理339
    8.2.1功能框图340
    8.2.2触发通道341
    8.2.3优先级344
    8.2.4传输模式344
    8.2.5主要特性344
    8.3STM32F10x的DMA相关库函数345
    8.3.1DMA_DeInit346
    8.3.2DMA_Init346
    8.3.3DMA_GetCurrDataCounter348
    8.3.4DMA_Cmd348
    8.3.5DMA_GetFlagStatus349
    8.3.6DMA_ClearFlag350
    8.3.7DMA_ITConfig351
    8.3.8DMA_GetITStatus351
    8.3.9DMA_ClearITPendingBit353
    8.4STM32F103的DMA开发实例——存储器间的数据传输353
    8.4.1功能要求353
    8.4.2硬件设计353
    8.4.3软件流程设计354
    8.4.4软件代码实现355
    8.4.5软件代码分析——const358
    8.4.6下载硬件调试358
    8.4.7开发经验小结——使用DMA365
    8.5本章小结366
    习题8366
    第9章ADC367
    9.1ADC概述367
    9.1.1ADC的由来367
    9.1.2ADC的基本原理368
    9.1.3ADC的性能参数370
    9.1.4ADC的主要类型371
    9.2STM32F103的ADC工作原理372
    9.2.1主要特性373
    9.2.2内部结构373
    9.2.3ADC通道及分组375
    9.2.4ADC触发转换376
    9.2.5ADC时钟和转换时间377
    9.2.6ADC工作过程378
    9.2.7ADC中断和DMA请求378
    9.2.8独立模式和双ADC模式380
    9.2.9单次和连续转换模式380
    9.2.10扫描模式381
    9.2.11间断模式383
    9.2.12校准384
    9.3STM32F10x的ADC相关库函数384
    9.3.1ADC_DeInit386
    9.3.2ADC_Init386
    9.3.3ADC_RegularChannelConfig388
    9.3.4ADC_InjectedChannelConfig390
    9.3.5ADC_InjectedSequencerLengthConfig390
    9.3.6ADC_SetInjectedOffset391
    9.3.7ADC_TampSensorVrefintCmd391
    9.3.8ADC_Cmd392
    9.3.9ADC_ResetCalibration392
    9.3.10ADC_GetResetCalibrationStatus392
    9.3.11ADC_StartCalibration393
    9.3.12ADC_GetCalibrationStatus393
    9.3.13ADC_SoftwareStartConvCmd394
    9.3.14ADC_ExternalTrigConvCmd394
    9.3.15ADC_SoftwareStartInjectedConvCmd395
    9.3.16ADC_ExternalTrigInjectedConvCmd395
    9.3.17ADC_ExternalTrigInjectedConvConfig396
    9.3.18ADC_AutoInjectedConvCmd397
    9.3.19ADC_DiscModeCmd397
    9.3.20ADC_DiscModeChannelCountConfig398
    9.3.21ADC_InjectedDiscModeCmd398
    9.3.22ADC_GetConversionValue398
    9.3.23ADC_GetInjectedConversionValue399
    9.3.24ADC_GetFlagStatus399
    9.3.25ADC_ClearFlag400
    9.3.26ADC_ITConfig400
    9.3.27ADC_GetITStatus401
    9.3.28ADC_ClearITPendingBit401
    9.3.29ADC_DMACmd402
    9.4STM32F103的ADC开发实例——读取GPIO引脚电压402
    9.4.1功能要求402
    9.4.2硬件设计402
    9.4.3软件流程设计403
    9.4.4软件代码实现406
    9.4.5软件模拟仿真409
    9.4.6下载到硬件调试413
    9.4.7开发经验小结——使用软件滤波降低噪声414
    9.5STM32F103的ADC开发实例——读取芯片温度414
    9.5.1功能要求414
    9.5.2硬件设计414
    9.5.3软件流程设计415
    9.5.4软件代码实现418
    9.5.5下载到硬件调试421
    9.5.6开发经验小结——轮询、中断和DMA422
    9.6本章小结423
    习题9423
    第10章UART425
    10.1数据通信的基本概念426
    10.1.1并行和串行426
    10.1.2单工、半双工和全双工426
    10.1.3同步和异步426
    10.2UART通信原理427
    10.2.1UART的物理层427
    10.2.2UART的协议层430
    10.3STM32F103的USART工作原理432
    10.3.1主要特性432
    10.3.2内部结构432
    10.3.3USART中断435
    10.3.4使用DMA进行USART通信436
    10.4STM32F10x的USART相关库函数437
    10.4.1USART_DeInit438
    10.4.2USART_Init438
    10.4.3USART_Cmd439
    10.4.4USART_SendData440
    10.4.5USART_ReceiveData440
    10.4.6USART_GetFlagStatus441
    10.4.7USART_ClearFlag441

查看详情
相关图书 / 更多
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入与网络:西南民族地区禁毒社会组织制度结构优化的路径选择
谢勇 著
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式金融:金融技术应用新革命
[美]斯嘉丽·西贝尔(Scarlett Sieber);[英]苏菲·吉博(Sophie Guibaud)
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式系统及应用
付少华主编
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式系统应用开发——基于NI LabVIEW&myRIO的设计与实现
杨帆;张彩丽;刘晋东;李宁
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式技术入门与实战(基于STM32)
尹静
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式单片机技术实战教程
郭海如;熊曾刚;李志敏;赵恒;谈怀江;刘江华;万青;万兴
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入城市:农民工永久迁移意愿及其影响因素研究
陆文荣
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式Linux系统开发 ——基于ARM处理器通用平台(第2版)
冯新宇;蒋洪波;程坤
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式技术及应用(STM32CubeMX版)
李文华
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式系统设计与应用——基于ARM Cortex-A8和Linux(第3版)(微课视频版)
王剑、刘鹏
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入地方的市场--对一个西南村镇集市的人类学考察
张琪 著
嵌入式系统原理及应用 基于ARM Cortex-M3内核的STM32F103系列微控制器/高等院校信息技术规划教材
嵌入式Linux驱动开发实践
朱文伟 李建英