基本信息
源码名称:stm32库函数手册.pdf
源码大小:48.67M
文件格式:.pdf
开发语言:C/C++
更新时间:2021-01-14
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
STM32入门教程(HAL库).pdf
STM32入门教程(HAL库).pdf
目录 (一) 硬件设计 .............................................................................. 13 第 1 章 YS-F1Pro 开发板硬件设计.....................................................................13 1.1 YS-F1Pro 开发板硬件资源 ..........................................................................13 1.2 YS-F1Pro 开发板跳帽配置说明 ..................................................................15 1.3 YS-F1Pro 开发板 IO 分配.............................................................................16 第 2 章 YS-F1Pro 开发板原理图详解.................................................................20 2.1 微控制器......................................................................................................20 2.2 FSMC—扩展 SRAM 和 TFT 液晶 .................................................................23 2.2.1 扩展 SRAM.......................................................................................23 2.2.2 LCD 液晶 ..........................................................................................24 2.3 电源管理......................................................................................................26 2.3.1 STM32F103 芯片供电 .....................................................................26 2.3.2 开发板供电......................................................................................27 2.4 SWD 和 ISP 下载接口..................................................................................29 2.4.1 SWD 下载接口.................................................................................29 2.4.2 ISP 下载方式....................................................................................31 2.5 数据存储设备..............................................................................................33 2.5.1 串行 Flash ........................................................................................33 2.5.2 串行 EEPROM ..................................................................................34 2.5.3 SD 卡 ................................................................................................36 2.5.4 USB 从设备(USB Device)............................................................36 2.6 数据传输—通信实现..................................................................................37 2.6.1 USART2—WiFi、GSM、GPS、蓝牙................................................37 2.6.2 USART3—RS-232、RS-485...............................................................39 2.6.3 CAN 通信 .........................................................................................40 2.6.4 红外接收解码..................................................................................40 2.6.5 2.4G 无线模块.................................................................................41 2.7 W5500 以太网模块.....................................................................................42 2.8 电机模块......................................................................................................44 2.8.1 步进电机..........................................................................................44 2.8.2 舵机..................................................................................................46 2.8.3 直流电机..........................................................................................48 2.9 AD 转换........................................................................................................49 2.10 其他功能电路..............................................................................................50 2.10.1 LED 灯电路 ......................................................................................50 2.10.2 独立按键..........................................................................................51 2.10.3 电容式按键......................................................................................52 2.10.4 蜂鸣器..............................................................................................53 2.10.5 温湿度传感器接口..........................................................................55 STM32 技术开发手册 2.10.6 摄像头接口......................................................................................55 2.10.7 所有 GPIO ........................................................................................56 第 3 章 3.5 寸液晶模组电路设计......................................................................58 3.1 液晶显示......................................................................................................58 3.2 电阻触摸实现..............................................................................................59 (二) 软件设计 .............................................................................. 61 第 4 章 HAL 库介绍...........................................................................................61 4.1 STM32 软件编程 .........................................................................................61 4.2 HAL 库是什么 ..............................................................................................62 4.3 HAL 库发展趋势 ..........................................................................................64 4.4 HAL 库特点 ..................................................................................................65 第 5 章 STM32CubeMX 安装及使用..................................................................68 5.1 STM32CubeMX 下载....................................................................................68 5.2 使用 CubeMX 新建工程..............................................................................70 第 6 章 KEIL v5 和 IAR 软件使用........................................................................88 6.1 KEIL v5 软件使用 .........................................................................................88 6.2 IAR 软件使用 ...............................................................................................96 第 7 章 寄存器................................................................................................109 7.1 寄存器定义................................................................................................109 7.2 微控制器....................................................................................................109 7.3 内部总线....................................................................................................111 7.4 存储器........................................................................................................113 7.4.1 存储器映射....................................................................................113 7.4.2 位带操作........................................................................................117 7.5 外设............................................................................................................118 7.6 I/O ..............................................................................................................120 7.7 时钟和复位................................................................................................122 7.7.1 复位................................................................................................122 7.7.2 时钟树............................................................................................124 第 8 章 Cortex-M3 内核 ..................................................................................127 8.1 CM3 内核简化模型...................................................................................127 8.2 寄存器........................................................................................................133 8.3 寄存器应用分类........................................................................................144 第 9 章 GPIO—流水灯.....................................................................................150 9.1 GPIO 介绍 ..................................................................................................150 9.2 GPIO 相关 ..................................................................................................158 9.3 LED 灯硬件设计.........................................................................................161 9.4 STM32CubeMX 生成工程..........................................................................162 9.5 GPIO 外设结构体 ......................................................................................164 9.6 GPIO 编程流程分析 ..................................................................................165 9.7 流水灯代码实现........................................................................................165 STM32 技术开发手册 9.8 蜂鸣器控制................................................................................................175 9.8.1 蜂鸣器驱动电路设计....................................................................175 9.8.2 蜂鸣器控制代码实现....................................................................176 第 10 章 工程文件结构和复位启动 ..................................................................179 10.1 stm32cubef1 ..............................................................................................179 10.2 例程文件结构............................................................................................182 10.3 启动代码....................................................................................................187 10.4 复位启动流程............................................................................................196 第 11 章 GPIO—按键输入扫描..........................................................................199 11.1 按键输入硬件设计....................................................................................199 11.2 STM32CubeMX 生成工程..........................................................................200 11.3 按键扫描编程流程分析............................................................................202 11.4 按键输入扫描代码实现............................................................................203 第 12 章 EXTI—按键中断输入...........................................................................207 12.1 NVIC—嵌套向量中断控制器....................................................................207 12.1.1 NVIC 寄存器...................................................................................208 12.1.2 中断优先级分组............................................................................210 12.1.3 优先级分组....................................................................................210 12.1.4 NVIC 相关函数...............................................................................211 12.1.5 中断配置实例................................................................................214 12.2 EXTI—外部中断/事件控制器....................................................................216 12.2.1 EXTI 功能框图分析........................................................................216 12.2.2 外部中断/事件线路映像..............................................................219 12.3 STM32CubeMX 生成工程..........................................................................220 12.4 按键中断编程流程分析............................................................................224 12.5 按键中断代码实现....................................................................................225 第 13 章 USART—RS-232 串口通信...................................................................230 13.1 串口通信协议............................................................................................230 13.1.1 物理层............................................................................................230 13.1.2 协议层。........................................................................................233 13.2 STM32 的 USART 简介...............................................................................234 13.3 串口通信硬件设计....................................................................................238 13.4 使用 CubeMX 软件生成 USART 工程.......................................................238 13.5 USART 结构体............................................................................................241 13.6 编程要点....................................................................................................243 13.7 USART 代码实现........................................................................................243 第 14 章 USART-指令控制.................................................................................248 14.1 USART 的调试应用....................................................................................248 14.2 使用 CubeMX 生成工程............................................................................248 14.3 编程要点....................................................................................................251 14.4 USART 串口指令代码实现........................................................................251 第 15 章 DMA—直接内存访问..........................................................................255 STM32 技术开发手册 15.1 DMA ...........................................................................................................255 15.2 DMA 功能框图 ..........................................................................................255 15.3 DMA 硬件设计 ..........................................................................................258 15.4 STM32CubeMX 生成工程..........................................................................258 15.5 DMA 外设结构体 ......................................................................................260 15.6 DMA 编程流程分析 ..................................................................................261 15.7 内存数据拷贝代码实现............................................................................262 第 16 章 DMA- USART1 接发.............................................................................265 16.1 DMA 存储器到外设模式 ..........................................................................265 16.2 使用 CubeMX 软件生成工程....................................................................265 16.3 编程流程分析............................................................................................268 16.4 DMA 存储器到外设代码实现 ..................................................................268 第 17 章 SysTick—系统滴答定时器...................................................................273 17.1 SysTick 介绍 ...............................................................................................273 17.2 相关寄存器介绍........................................................................................273 17.3 系统滴答定时器硬件设计........................................................................274 17.4 STM32CubeMX 生成工程..........................................................................274 17.5 SysTick 编程流程分析 ...............................................................................276 17.6 SysTick 实现定时代码实现.......................................................................276 第 18 章 TIM-基本定时器 .................................................................................279 18.1 基本定时器简介........................................................................................279 18.2 基本定时器功能框图................................................................................280 18.3 STM32CubeMX 生成工程..........................................................................282 18.4 TIM-基本定时器外设结构体....................................................................285 18.5 TIM6&TIM7 编程流程分析.......................................................................287 18.6 TIM6&TIM7 基本定时代码实现...............................................................287 第 19 章 TIM-高级控制定时器..........................................................................291 19.1 高级控制定时器........................................................................................291 19.2 输入捕获模式............................................................................................299 19.3 PWM 输入模式..........................................................................................300 19.4 强置输出模式............................................................................................302 19.5 输出比较模式............................................................................................302 19.6 PWM 模式..................................................................................................303 19.7 互补输出和死区插入................................................................................305 19.8 在外部事件时清除 OCxREF 信号 .............................................................305 19.9 产生六步 PWM 输出.................................................................................306 19.10 单脉冲模式............................................................................................307 19.11 编码器接口模式....................................................................................307 19.12 与霍尔传感器的接口............................................................................309 19.13 TIMx 定时器和外部触发的同步 ..........................................................310 19.14 STM32CubeMX 生成工程 .....................................................................312 19.15 高级控制定时器外设结构体................................................................314 STM32 技术开发手册 19.16 高级控制定时器生成 PWM 编程流程分析 ........................................316 19.17 高级控制定时器生成 PWM 代码实现 ................................................316 第 20 章 TIM-通用定时器(电容按键)...........................................................320 20.1 电容按键原理............................................................................................320 20.2 电容按键硬件设计....................................................................................322 20.3 STM32Cube 生成工程...............................................................................322 20.4 触摸按键外设结构体................................................................................325 20.5 触摸按键编程流程分析............................................................................326 20.6 触摸按键代码实现....................................................................................326 第 21 章 TIM-通用定时器(呼吸灯)...............................................................332 21.1 呼吸灯功能实现........................................................................................332 21.2 使用 CubeMX 软件生成代码....................................................................333 21.3 呼吸灯编程流程分析................................................................................335 21.4 呼吸灯代码实现........................................................................................335 第 22 章 ADC-电压采集.....................................................................................339 22.1 STM32ADC 介绍.........................................................................................339 22.2 DMA 传输在 ADC 中的应用......................................................................345 22.3 ADC 硬件电路设计....................................................................................346 22.4 STM32CubeMX 生成工程..........................................................................346 22.5 ADC 外设机构体分析................................................................................349 22.6 ADC 编程流程分析....................................................................................350 22.7 基于 DMA 传输的多通道 AD 转换代码实现...........................................350 22.8 双 ADC 慢速交叉模式代码实现...............................................................354 第 23 章 DAC-电压输出.....................................................................................359 23.1 DAC 简介....................................................................................................359 23.2 DAC 硬件电路设计....................................................................................360 23.3 使用 CubeMX 生成 DAC 正弦波工程.......................................................361 23.4 DAC 外设结构体分析................................................................................365 23.5 DAC-正弦波编程流程分析........................................................................365 23.6 正弦波输出代码实现................................................................................365 23.7 可调电压输出代码实现............................................................................368 第 24 章 LCD-液晶显示 .....................................................................................371 24.1 LCD 简介 ....................................................................................................371 24.2 LCD 控制器简介 ........................................................................................371 24.3 FSMC 简介..................................................................................................374 24.4 LCD 硬件设计 ............................................................................................381 24.5 使用 CubeMX 生成工程............................................................................382 24.6 FSMC 外设结构体......................................................................................384 24.7 LCD 编程流程分析 ....................................................................................386 24.8 LCD 显示代码实现 ....................................................................................386 24.9 LCD-基本图形显示代码实现 ....................................................................395 第 25 章 LCD 显示中英文(字模在内部 FLASH) .............................................400 STM32 技术开发手册 25.1 ASCII 编码 ..................................................................................................400 25.2 字模............................................................................................................401 25.3 制作字模....................................................................................................401 25.4 使用 CubeMX 生成工程............................................................................405 25.5 LCD 显示字符及汉字编程流程分析 ........................................................405 25.6 LCD 显示字符代码实现 ............................................................................406 25.7 LCD 显示汉字代码实现 ............................................................................409 第 26 章 FSMC-外部 SRAM 实验 .......................................................................413 26.1 SRAM 简介.................................................................................................413 26.2 SRAM 硬件电路设计.................................................................................414 26.3 使用 CubeMX 生成工程............................................................................415 26.4 FSMC-外部 SRAM 外设结构体..................................................................417 26.5 FSMC-外部 SRAM 编程流程分析..............................................................418 26.6 FSMC-外部 SRAM 代码实现......................................................................418 26.7 FSMC-扩展 SRAM 内存管理代码实现......................................................422 第 27 章 SDIO-SD 卡..........................................................................................427 27.1 SDIO 简介...................................................................................................427 27.2 SD 卡物理结构 ..........................................................................................427 27.3 SDIO 功能框图...........................................................................................429 27.4 SDIO 总线...................................................................................................432 27.4.1 总线拓扑........................................................................................432 27.4.2 总线协议........................................................................................433 27.4.3 命令................................................................................................434 27.4.4 响应................................................................................................435 27.5 SDIO-SD 卡硬件电路设计 .........................................................................435 27.6 使用 CubeMX 生成工程............................................................................436 27.7 SDIO 外设结构体分析...............................................................................439 27.8 SDIO 编程流程分析...................................................................................441 27.9 SDIO-SD 卡读写代码实现 .........................................................................441 第 28 章 SDIO-基于 SD 卡的 FatFS 文件系统.....................................................446 28.1 文件系统....................................................................................................446 28.2 FatFS 简介..................................................................................................446 28.3 使用 CubeMX 生成工程............................................................................448 28.4 SDIO-FatFS 文件系统功能使用外设结构体.............................................450 28.5 SDIO-FatFS 文件系统功能使用编程流程分析.........................................450 28.6 SDIO-FatFS 文件系统功能使用代码实现.................................................451 第 29 章 SPI-串行 Flash.....................................................................................457 29.1 SPI 简介......................................................................................................457 29.1.1 SPI 物理层......................................................................................457 29.1.2 SPI 协议层......................................................................................458 29.2 SPI 框架剖析..............................................................................................460 29.3 SPI 通讯过程..............................................................................................461 STM32 技术开发手册 29.4 SPI-串行 Flash 硬件设计...........................................................................463 29.5 使用 CubeMX 软件生成工程....................................................................464 29.6 SPI-串行 Flash 结构体...............................................................................466 29.7 SPI-串行 Flash 编程流程分析 ...................................................................468 29.8 SPI-串行 Flash 代码实现...........................................................................468 第 30 章 SPI-基于串行 Flash 的 FatFS 文件系统................................................478 30.1 使用 CubeMX 生成工程............................................................................478 30.2 SPI-基于串行 Flash 的 FatFS 文件系统编程流程分析.............................480 30.3 SPI-基于串行 Flash 的 FatFS 文件系统代码实现.....................................480 第 31 章 I2C-EEPROM........................................................................................486 31.1 I2C 简介......................................................................................................486 31.1.1 I2C 物理层 .....................................................................................486 31.1.2 协议层............................................................................................487 31.2 STM32 的 I2C 特性及架构 ........................................................................489 31.3 I2C-EEPROM 硬件设计..............................................................................492 31.4 使用 CubeMX 生成工程............................................................................493 31.5 I2C-EEPROM 编程流程分析......................................................................495 31.6 I2C-EEPROM 代码实现(硬件)..............................................................495 31.7 I2C-EEPROM 代码实现(软件模拟)......................................................499 第 32 章 LCD-显示汉字(字库在 SD 卡).........................................................507 32.1 中文编码....................................................................................................507 32.2 Unicode ......................................................................................................508 32.3 字模的生成................................................................................................509 32.4 LCD-显示函数(字库在 SD 卡)编程流程分析......................................510 32.5 LCD-显示函数(字库在 SD 卡)代码实现..............................................510 第 33 章 LCD-显示汉字(字库在串行 Flash) ..................................................517 33.1 烧写中文字库到串行 Flash ......................................................................517 33.1.1 烧写中文字库到串行 Flash 代码实现.........................................517 33.2 LCD-显示汉字(字库在串行 Flash)编程流程分析...............................519 33.3 LCD-显示汉字(字库在串行 Flash)代码实现.......................................519 第 34 章 LCD-显示图片(图片在 SD 卡) ..............................................................523 34.1 图片格式简介............................................................................................523 34.2 BMP 头文件格式.......................................................................................524 34.3 生成 BMP 图像..........................................................................................525 34.4 LCD-显示图片(图片在 SD 卡)结构体..................................................526 34.5 LCD-显示图片(图片在 SD 卡)编程流程分析......................................527 34.6 LCD-显示图片(图片在 SD 卡)代码实现..............................................527 34.7 LCD-液晶截图 ............................................................................................530 第 35 章 LCD-触摸画笔 .....................................................................................533 35.1 触摸屏简介................................................................................................533 35.1.1 电阻触摸屏检测原理....................................................................534 35.2 触摸屏硬件电路设计................................................................................535 STM32 技术开发手册 35.3 使用 CubeMX 生成工程............................................................................536 35.4 LCD-触摸画笔结构体分析 ........................................................................538 35.5 LCD-触摸画笔编程流程分析 ....................................................................538 35.6 LCD-触摸画笔代码实现 ............................................................................538 第 36 章 CAN-双机通信测试.............................................................................547 36.1 CAN 简介....................................................................................................547 36.1.1 CAN 物理层 ...................................................................................547 36.1.2 CAN 协议层 ...................................................................................550 36.2 STM32 的 CAN 外设简介 ..........................................................................555 36.2.1 CAN 总体描述 ...............................................................................555 36.3 CAN 通讯硬件电路设计............................................................................559 36.4 使用 CubeMX 生成工程............................................................................560 36.5 CAN-双机通信测试外设结构体分析 .......................................................562 36.6 CAN-双机通信测试编程流程分析 ...........................................................565 36.7 CAN-双机通信测试代码实现 ...................................................................565 第 37 章 RS-485 通信 ........................................................................................570 37.1 RS-485 通信简介 .......................................................................................570 37.2 RS-485 通信硬件电路分析 .......................................................................571 37.3 RS-485 通讯编程流程分析 .......................................................................571 37.4 RS-485 通讯代码实现 ...............................................................................572 第 38 章 以太网-W5500....................................................................................576 38.1 以太网简介................................................................................................576 38.2 以太网模型................................................................................................576 38.3 以太网分层概述........................................................................................577 38.4 以太网接入方案........................................................................................584 38.5 W5500 的 Socket 初始化 ..........................................................................585 38.6 W5500 相关例程功能简介.......................................................................586 38.7 以太网 W5500 硬件设计..........................................................................588 38.8 使用 CubeMX 生成工程............................................................................590 38.9 以太网-W5500 结构体..............................................................................592 38.10 TCP-Server 编程流程分析.....................................................................592 38.11 TCP-Server 代码实现.............................................................................593 第 39 章 WIFI-ESP8266......................................................................................598 39.1 ESP-8266 简介............................................................................................598 39.1.1 主要参数........................................................................................598 39.1.2 功能描述........................................................................................599 39.1.3 接口说明........................................................................................600 39.2 ESP-8266 硬件电路设计............................................................................601 39.3 手机端设置................................................................................................601 39.4 使用 CubeMX 生成工程............................................................................604 39.5 ESP8266 结构体.........................................................................................607 39.6 ESP-8266 手机控制开发板编程流程分析................................................607 STM32 技术开发手册 39.7 ESP-8266 手机控制开发板代码实现........................................................608