本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | STM32F0实战:基于HAL库开发|8054359 |
图书定价: | 129元 |
图书作者: | 高显生 |
出版社: | 机械工业出版社 |
出版日期: | 2018/11/28 0:00:00 |
ISBN号: | 9787111612964 |
开本: | 16开 |
页数: | 753 |
版次: | 1-1 |
作者简介 |
高显生 编著:暂无简介 |
内容简介 |
作为STM32单片机的入门者,往往在从寄存器开发还是从固件库开发上纠结不定,本书将从市场上非常畅销的F0系列微控制器入手,利用意法公司新近推出的一款全新的开发软件—STM32CubeMX做为项目建立和代码初始化工具,快速生成F0系列的开发环境,并在MDK-ARM软件上对代码进行进一步的编辑修改,直至生成最终的开发项目。 本书将使用STM32CubeMX软件自带的HAL固件库来开发,书内附HAL库详解,HAL库不同与以往的标准外设库,是意法公司**推出的替代标准外设库的产品。 |
目录 |
前言 第一篇 系统架构 第1章 “芯”系ARM 2 1.1 强劲的ARM芯 2 1.1.1 最成功的科技公司 2 1.1.2 ARMv6-M架构 3 1.1.3 Cortex-M0处理器简介 3 1.1.4 Cortex-M0处理器的特点 5 1.1.5 RISC架构 6 1.1.6 AMBA总线 6 1.1.7 微控制器软件接口标准(CMSIS) 7 1.2 STM32系列微控制器 9 1.2.1 STM32微控制器家族 9 1.2.2 STM32的命名规则 9 1.2.3 STM32F0系列微控制器功能概述 13 第2章 开发环境 17 2.1 软件开发工具 17 2.1.1 MDK-ARM集成开发环境 18 2.1.2 安装MDK-ARM软件 21 2.1.3 STM32CubeMX软件 27 2.1.4 安装STM32CubeMX软件 34 2.2 硬件开发工具 46 2.2.1 仿真/编程器 47 2.2.2 STM32系统板 51 2.3 项目建立 52 2.3.1 新建开发项目 52 2.3.2 查看项目文件 62 2.3.3 打开项目 64 2.3.4 查看项目属性 69 2.3.5 编译项目 73 第3章 GPIO 76 3.1 GPIO概述 76 3.1.1 GPIO的功能 76 3.1.2 GPIO的位结构 78 3.1.3 GPIO的特殊功能 80 3.1.4 GPIO的寄存器分类 82 3.2 GPIO函数 82 3.2.1 GPIO类型定义 82 3.2.2 GPIO常量定义 83 3.2.3 GPIO函数定义 84 3.3 GPIO应用实例 86 3.3.1 生成开发项目 86 3.3.2 主程序文件结构解析 90 3.3.3 外设初始化过程分析 94 第4章 HAL库 98 4.1 HAL库结构 98 4.1.1 HAL库的特点 98 4.1.2 HAL库的构成 99 4.1.3 HAL库用户应用程序 99 4.2 HAL库文件 101 4.2.1 HAL库头文件 101 4.2.2 HAL库源文件 104 第5章 系统配置 107 5.1 系统架构 107 5.1.1 总线结构 107 5.1.2 存储器的组织 108 5.1.3 启动配置 108 5.2 Flash存储器 110 5.2.1 Flash的读操作 110 5.2.2 Flash的写和擦除操作 111 5.2.3 Flash读保护 113 5.2.4 Flash写保护 114 5.2.5 Flash中断 114 5.2.6 CRC计算单元 114 5.3 选项字节 115 5.3.1 选项字节的格式 115 5.3.2 选项字节编程 118 5.4 Flash函数 119 5.4.1 Flash类型定义 119 5.4.2 Flash常量定义 120 5.4.3 Flash函数定义 121 5.5 CRC函数 128 5.5.1 CRC类型定义 128 5.5.2 CRC常量定义 129 5.5.3 CRC函数定义 131 第6章 时钟 135 6.1 概述 135 6.1.1 时钟树的结构 135 6.1.2 时钟源 137 6.1.3 时钟安全 140 6.1.4 时钟应用 140 6.1.5 低功耗模式下的时钟 141 6.1.6 复位 141 6.2 RCC函数 143 6.2.1 RCC类型定义 143 6.2.2 RCC常量定义 145 6.2.3 RCC函数定义 152 6.3 时钟控制实例 159 第7章 电源控制 162 7.1 供电管理 162 7.1.1 供电引脚 162 7.1.2 上电复位和掉电复位 165 7.1.3 可编程电压检测器 166 7.2 低功耗模式 166 7.2.1 低功耗模式的分类 166 7.2.2 睡眠模式 167 7.2.3 停机模式 168 7.2.4 待机模式 169 7.2.5 自动唤醒 170 7.3 电源控制函数 170 7.3.1 电源控制类型定义 170 7.3.2 电源控制常量定义 171 7.3.3 电源控制函数定义 172 7.4 低功耗模式应用实例 178 7.4.1 从停机模式唤醒 178 7.4.2 从待机模式唤醒 180 第8章 DMA控制器 183 8.1 DMA概述 183 8.1.1 DMA控制器内部结构 183 8.1.2 DMA的处理过程 183 8.1.3 DMA中断 186 8.1.4 DMA请求映射 186 8.2 DMA函数 189 8.2.1 DMA类型定义 189 8.2.2 DMA常量定义 190 8.2.3 DMA函数定义 191 8.3 DMA应用实例 194 第9章 异常 198 9.1 Cortex-M0的异常处理 198 9.1.1 异常的特点 198 9.1.2 嵌套向量中断控制器 201 9.1.3 中断的使能 201 9.1.4 中断请求的挂起和清除 202 9.1.5 中断优先级控制 204 9.1.6 SysTick定时器 204 9.2 扩展中断和事件控制器(EXTI) 207 9.2.1 事件线概述 207 9.2.2 事件线的控制逻辑 208 9.2.3 事件线的配置方法 210 9.2.4 EXTI唤醒 210 9.2.5 中断服务程序(ISR) 210 9.3 异常相关函数 212 9.3.1 异常类型定义 212 9.3.2 异常常量定义 213 9.3.3 异常函数定义 213 9.4 EXTI应用实例 219 第二篇 外设模块 第10章 模拟-数字转换器 224 10.1 ADC模块概述 224 10.1.1 ADC的内部结构 224 10.1.2 ADC校准 225 10.1.3 ADC的启动和关闭 226 10.1.4 ADC时钟 228 10.2 ADC功能配置 229 10.2.1 ADC的基础配置 229 10.2.2 ADC的转换模式 230 10.2.3 A/D转换的启动和停止 231 10.2.4 A/D转换时序 232 10.2.5 ADC过冲 233 10.2.6 管理转换数据 235 10.2.7 ADC的低功耗特性 235 10.2.8 模拟看门狗 237 10.2.9 ADC的内部通道转换 238 10.2.10 ADC中断 240 10.3 ADC函数 241 10.3.1 ADC类型定义 241 10.3.2 ADC常量定义 242 10.3.3 ADC函数定义 246 10.4 ADC的应用实例 253 10.4.1 数字显示电压值 254 10.4.2 读取温度传感器 256 第11章 数字-模拟转换器 259 11.1 DAC模块概述 259 11.1.1 DAC的内部结构 259 11.1.2 DAC数据格式 260 11.1.3 DAC通道转换 261 11.1.4 DAC触发选择 262 11.1.5 DAC的DMA请求 262 11.2 DAC波形生成 263 11.2.1 噪声波生成 263 11.2.2 三角波生成 264 11.2.3 DAC双通道转换 264 11.3 DAC函数 266 11.3.1 DAC类型定义 266 11.3.2 DAC常量定义 266 11.3.3 DAC函数定义 267 11.4 DAC应用实例 277 第12章 模拟比较器 281 12.1 模拟比较器概述 281 12.1.1 模拟比较器的功能 281 12.1.2 模拟比较器的内部结构 281 12.2 模拟比较器的函数 282 12.2.1 模拟比较器类型定义 282 12.2.2 模拟比较器常量定义 283 12.2.3 模拟比较器函数定义 285 12.3 模拟比较器应用实例 288 第13章 实时时钟 291 13.1 RTC概述 291 13.1.1 RTC主要特性 291 13.1.2 时钟和日历 294 13.1.3 可编程报警 294 13.2 RTC操作 295 13.2.1 RTC初始化 295 13.2.2 读取日历寄存器 296 13.2.3 RTC同步 297 13.2.4 RTC参考时钟检测 298 13.2.5 RTC平滑数字校准 298 13.2.6 时间戳 299 13.2.7 侵入检测 299 13.2.8 时钟输出 300 13.2.9 RTC低功耗模式 301 13.2.10 RTC中断 301 13.3 RTC函数 302 13.3.1 RTC类型定义 302 13.3.2 RTC常量定义 305 13.3.3 RTC函数定义 310 13.4 RTC应用实例 326 第14章 定时器 329 14.1 定时器概述 329 14.1.1 定时器配置 329 14.1.2 TIM1的功能 330 14.1.3 计数时钟 336 |
编辑推荐 |
本书基于图形化软件平台STM32CubeMX生成初始代码。 涵盖ARM Cortex内核的STM32F072VBT6微控制器大部分外设。 使用C语言及HAL固件库开发,配套源代码,由浅入深,快速入门。 |