随笔分类 - 野火指南者例程
第40章 WWDG喂狗实验
摘要:第四十章 WWDG喂狗实验 1. 硬件设计 WWDG一个 LED两个 WWDG属于单片机内部资源,不需要外部电路,需要两个LED来指示程序的运行状态。 2. 软件设计 2.1 编程大纲 WWDG模式配置 WWDG中断服务函数 主函数测试 2.2 代码分析 2.2.1 WWDG配置函数 #includ
第39章 IWDG超时实验
摘要:第三十九章 IWDG超时实验 1. 硬件设计 IWDG一个 按键一个 LED三个 IWDG属于单片机内部资源,不需要外部电路,需要一个外部的按键和LED,在 1s 的时间内通过按键来不断的喂狗,如果喂狗失败,红灯闪烁。如果一直喂狗成功,则绿灯常亮。 2. 软件设计 2.1 编程大纲 iwdg初始化函
第38章 TIM-输出SPWM波
摘要:第三十八章 TIM-输出SPWM波 1. 硬件设计 与全彩呼吸灯一样,只是使用的PWM表不同 2. 软件设计 2.1 编程大纲 TIM及通道相关参数宏定义 PWM表定义 TIM模式配置 定时器中断服务函数 主函数测试 2.2 代码分析 2.2.1 TIM及通道相关参数宏定义 #define AMPL
第37章 TIM-全彩呼吸灯
摘要:第三十七章 TIM-全彩呼吸灯 1. 硬件设计 与上一章一样 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 在单色呼吸灯的基础上,增加PWM输出通道,三个通道分别控制红绿蓝颜色 编写中断服务函数,增加对拟合波形幅值的控制 计算获取新的PWM数据表 主函数测试 2.2 代码分析 2.2.1
第36章 TIM-单色呼吸灯
摘要:第三十六章 TIM-单色呼吸灯 1. 硬件设计 使用定时器输出控制LED灯呈呼吸效果,无其他硬件设计 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 初始化PWM输出通道,初始化PWM工作模式 计算获取PWM数据表; 编写中断服务函数,在中断服务函数根据PWM数据表切换比较寄存器的值 主函数
第35章 TIM-全彩LED灯
摘要:第三十五章 TIM-全彩LED灯 1. 导入 全彩LED灯,实质上是一种把红、绿、蓝单色发光体集成到小面积区域中的LED灯,控制时对这三种颜色的灯管输出不同的光照强度, 即可混合得到不同的颜色,其混色原理与光的三原色混合原理一致。 例如,若红绿蓝灯都能控制输出光照强度为[0:255]种等级,那么该灯
第33章 高级定时器-PWM输入捕获实验
摘要:第三十三章 高级定时器-PWM输入捕获实验 1. 导入 普通的输入捕获可以使用定时器的四个通道, 一路捕获占用一个捕获寄存器,而PWM输入则只能使用两个通道,即通道1和通道2,且一路PWM输入要占用两个捕获寄存器,一个用于捕获周期, 一个用于捕获占空比。在本节实验中,我们用通用定时器产生一路PWM信
第34章 高级定时器-DMA控制实验
摘要:第三十四章 高级定时器-DMA控制实验 1. 硬件设计 TIM和DMA均输入内部资源,无需硬件设计,还使用了按键,已经分析过了 2. 软件设计 2.1 编程大纲 TIM和DMA相关参数宏定义 TIM GPIO及DMA Mode配置 TIM Mode配置 主函数测 2.2 代码分析 2.2.1 相关参
第32章 高级定时器-PWM互补输出
摘要:第三十二章 高级定时器-PWM互补输出 1. 硬件设计 根据开发板引脚使用情况,并且参考定时器引脚信息 ,使用高级定时器TIM1的通道1及其互补通道作为本实验的波形输出通道,对应选择PA8和PB13引脚。将示波器的两个输入通道分别与PA8和PB13引脚连接,用于观察波形,还有注意共地。在指南者开发板
第31章 高级定时器-定时
摘要:第三十一章 高级定时器-定时 1. 硬件设计 无需硬件设计 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 TIM NVIC及Mode配置 TIM中断服务函数 主函数测试 2.2 代码分析 2.2.1 高级定时器相关参数宏定义 #define ATMx TIM1 #define ATIM_P
第30章 通用定时器-同步
摘要:第三十章 通用定时器-同步 1. 硬件设计 无需硬件设计 2. 软件设计 2.1 编程大纲 定时器参数宏定义 定时器GPIO初始化 定时器输出PWM及主从模式配置 2.2 代码分析 2.2.1 定时器相关参数宏定义 /* 主从定时器参数 */ #define TIM_MASTER TIM2 // 主
第29章 通用定时器-测量脉冲宽度
摘要:第二十九章 通用定时器-测量脉冲宽度 1. 硬件设计 无需硬件设计 2. 软件设计 2.1 编程大纲 TIM GPIO及捕获通道参数宏定义 GPIO、NVIC、Mode配置 捕获中断服务函数 主函数测试 2.2 代码分析 2.2.1 TIM相关参数宏定义 /* TIM相关参数宏定义 */ #defi
第28章 通用定时器-4路PWM输出
摘要:第二十八章 通用定时器-4路PWM输出 1. 硬件设计 无硬件设计 2. 软件设计 2.1 编程大纲 TIM GPIO和CHx相关参数宏定义 输出通道GPIO配置 TIM四路输出PWM模式配置 主函数测试 2.2 代码分析 2.2.1 TIM3相关参数和四个通道宏定义 #ifndef __GENER
第27章 通用定时器-定时
摘要:第二十七章 通用定时器-定时 1. 硬件设计 TIM输入stm32内部资源无需硬件设计,led电路我们也已经分析过了 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 配置NVIC和TIM工作模式 中断服务函数 主函数测试 2.2 代码分析 2.2.1 TIM相关参数宏定义 #ifndef _
第26章 电容按键检测实验
摘要:第二十六章 电容按键检测实验 1. 硬件设计 标示TPAD1在电路板上就是电容按键实体,默认通过一个调帽连接到PA1,即通用定时器TIM5的通道2。 充电电容的阻值为5.1M,电阻的大小决定了电容按键充电的时间。 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 TIM GPIO和Mode配置
第25章 基本定时器定时实验
摘要:第二十五章 基本定时器定时实验 1. 硬件设计 本实验利用基本定时器 TIM6 定时 1s,1s 时间到 LED 翻转一次。基本定时器是单片机内部的资源, 没有外部 IO,不需要接外部电路,现只需要一个 LED 即可。 2. 软件设计 2.1 编程大纲 TIM相关参数宏定义 TIM工作参数设置及初始
第24章 FatFs功能使用实验
摘要:第二十四章 FatFs功能使用实验 上个实验我们实现了FatFs的格式化、读文件和写文件功能,这个已经满足很多部分的运用需要。有时,我们需要更多的文件操作功能, FatFs还是提供了不少的功能的,比如设备存储空间信息获取、读写文件指针定位、创建目录、文件移动和重命名、文件或目录信息获取等等功能。 我
第23章 FatFs文件系统移植实验
摘要:第二十三章 FatFs文件系统移植实验 1. FatFs程序结构图 用户应用程序需要由用户编写,想实现什么功能就编写什么的程序,一般我们只用到f_mount()、f_open()、f_write()、f_read()就可以实现文件的读写操作。 FatFs组件是FatFs的主体,文件都在源码src文件
第22章 W25Q64存储小数和整数
摘要:第二十二章 W25Q64存储小数和整数 1. 硬件设计 参考上一章SPI读写实验 2. 软件设计 主要程序设计我们在上一章就见识过了,这个实验主要就是改下主函数就行了 #include "led.h" #include "spi_flash.h" #include "usart.h" __IO ui
第21章 SPI读写串行FLASH实验
摘要:第二十一章 SPI读写串行FLASH实验 1. 硬件设计 实验板中的FLASH芯片(型号:W25Q64)是一种使用SPI通讯协议的NOR FLASH存储器, 它的CS/CLK/DIO/DO引脚分别连接到了STM32对应的SPI引脚NSS/SCK/MOSI/MISO上,其中STM32的NSS引脚是一个