随笔分类 -  野火指南者例程

摘要:第三十五章 TIM-单色呼吸灯 1. 硬件设计 使用定时器输出控制LED灯呈呼吸效果,无其他硬件设计 2. 软件设计 2.1 编程目标 初始化PWM输出通道,初始化PWM工作模式; 计算获取PWM数据表; 编写中断服务函数,在中断服务函数根据PWM数据表切换比较寄存器的值; 2.2 代码分析 定时器 阅读全文
posted @ 2024-09-17 17:14 hazy1k 阅读(16) 评论(0) 推荐(0) 编辑
摘要:第三十四章 TIM-全彩LED灯 1. 导入 全彩LED灯,实质上是一种把红、绿、蓝单色发光体集成到小面积区域中的LED灯,控制时对这三种颜色的灯管输出不同的光照强度, 即可混合得到不同的颜色,其混色原理与光的三原色混合原理一致。 例如,若红绿蓝灯都能控制输出光照强度为[0:255]种等级,那么该灯 阅读全文
posted @ 2024-09-17 16:11 hazy1k 阅读(9) 评论(0) 推荐(0) 编辑
摘要:第三十三章 高级定时器-PWM输入捕获实验 1. 导入 普通的输入捕获可以使用定时器的四个通道, 一路捕获占用一个捕获寄存器,而PWM输入则只能使用两个通道,即通道1和通道2,且一路PWM输入要占用两个捕获寄存器,一个用于捕获周期, 一个用于捕获占空比。在本节实验中,我们用通用定时器产生一路PWM信 阅读全文
posted @ 2024-09-16 15:54 hazy1k 阅读(38) 评论(0) 推荐(0) 编辑
摘要:第三十四章 高级定时器-DMA控制实验 1. 硬件设计 TIM和DMA均输入内部资源,无需硬件设计,还使用了按键,已经分析过了 2. 软件设计 高级定时器及通道宏定义 // 定时器 #define ADVANCE_TIM TIM1 #define ADVANCE_TIM_CLK RCC_APB2Pe 阅读全文
posted @ 2024-09-14 13:54 hazy1k 阅读(10) 评论(0) 推荐(0) 编辑
摘要:第三十二章 高级定时器-PWM互补输出 1. 硬件设计 根据开发板引脚使用情况,并且参考定时器引脚信息 ,使用高级定时器TIM1的通道1及其互补通道作为本实验的波形输出通道,对应选择PA8和PB13引脚。将示波器的两个输入通道分别与PA8和PB13引脚连接,用于观察波形,还有注意共地。在指南者开发板 阅读全文
posted @ 2024-09-14 13:33 hazy1k 阅读(122) 评论(0) 推荐(1) 编辑
摘要:第三十一章 高级定时器-定时 1. 硬件设计 次实验使用到了LED模块,可以参考之前的,再有高级定时器无需硬件设计啦 2. 软件设计 高级定时器相关参数宏定义 #define ADVANCE_TIM1 // 如果使用TIM8,注释掉这个宏即可 #ifdef ADVANCE_TIM1 // 使用高级定 阅读全文
posted @ 2024-09-13 19:20 hazy1k 阅读(7) 评论(0) 推荐(0) 编辑
摘要:第三十章 通用定时器-同步 1. 硬件设计 无需硬件设计 2. 软件设计 定时器相关参数宏定义 // 定时器参数宏定义 #define GENERAL_TIM_MASTER TIM2 // 主定时器--TIM2 #define GENERAL_TIM_MASTER_CLK RCC_APB1Perip 阅读全文
posted @ 2024-09-13 15:40 hazy1k 阅读(7) 评论(0) 推荐(0) 编辑
摘要:第二十九章 通用定时器-测量脉冲宽度 1. 硬件设计 无需硬件设计 2. 软件设计 定时器相关参数宏定义 // 当使用不同的定时器的时候,对应的GPIO是不一样的,这点要注意 // 我们这里默认使用TIM5 #define GENERAL_TIM TIM5 // 通用定时器选择-TIM5 #defi 阅读全文
posted @ 2024-09-13 15:17 hazy1k 阅读(9) 评论(0) 推荐(0) 编辑
摘要:第二十八章 通用定时器-4路PWM输出 1. 硬件设计 无硬件设计 2. 软件设计 TIM3相关参数和四个通道宏定义 // 通用定时器参数宏定义-TIM3 #define GENERAL_TIM TIM3 // 选择使用的通用定时器-TIM3 #define GENERAL_TIM_APBxCloc 阅读全文
posted @ 2024-09-12 16:37 hazy1k 阅读(9) 评论(0) 推荐(0) 编辑
摘要:第二十七章 通用定时器-定时 1. 硬件设计 TIM输入stm32内部资源无需硬件设计,led电路我们也已经分析过了 2. 软件设计 TIM相关参数宏定义 #define GENERAL_TIM TIM2 // 选择使用的定时器--TIM2 #define GENERAL_TIM_APBxClock 阅读全文
posted @ 2024-09-12 16:16 hazy1k 阅读(5) 评论(0) 推荐(0) 编辑
摘要:第二十六章 电容按键检测实验 1. 硬件设计 开发板板载一个电容按键,原理图设计参考图 标示TPAD1在电路板上就是电容按键实体,默认通过一个调帽连接到PA1,即通用定时器TIM5的通道2。 充电电容的阻值为5.1M,电阻的大小决定了电容按键充电的时间。 实验还用到调试串口和蜂鸣器功能,用来打印输入 阅读全文
posted @ 2024-09-11 16:23 hazy1k 阅读(4) 评论(0) 推荐(0) 编辑
摘要:第二十五章 基本定时器定时实验 1. 硬件设计 本实验利用基本定时器 TIM6/7 定时 1s,1s 时间到 LED 翻转一次。基本定时器是单片机内部的资源, 没有外部 IO,不需要接外部电路,现只需要一个 LED 即可。 2. 软件设计 2.1 编程目标 开定时器时钟 TIMx_CLK, x[6, 阅读全文
posted @ 2024-09-10 20:32 hazy1k 阅读(9) 评论(0) 推荐(0) 编辑
摘要:第二十四章 FatFs功能使用实验 上个实验我们实现了FatFs的格式化、读文件和写文件功能,这个已经满足很多部分的运用需要。有时,我们需要更多的文件操作功能, FatFs还是提供了不少的功能的,比如设备存储空间信息获取、读写文件指针定位、创建目录、文件移动和重命名、文件或目录信息获取等等功能。 我 阅读全文
posted @ 2024-09-08 15:30 hazy1k 阅读(44) 评论(0) 推荐(0) 编辑
摘要:第二十三章 FatFs文件系统移植实验 1. FatFs程序结构图 移植FatFs之前我们先通过FatFs的程序结构图了解FatFs在程序中的关系网络 用户应用程序需要由用户编写,想实现什么功能就编写什么的程序,一般我们只用到f_mount()、f_open()、f_write()、f_read() 阅读全文
posted @ 2024-09-06 10:15 hazy1k 阅读(22) 评论(0) 推荐(0) 编辑
摘要:第二十二章 W25Q64存储小数和整数 1. 硬件设计 参考上一章SPI读写实验 2. 软件设计 主要程序设计我们在上一章就见识过了,这个实验主要就是改下主函数就行了 主函数 #include "stm32f10x.h" #include "./led/bsp_led.h" #include "./ 阅读全文
posted @ 2024-09-05 15:51 hazy1k 阅读(8) 评论(0) 推荐(0) 编辑
摘要:第二十一章 SPI读写串行FLASH实验 1. 硬件设计 实验板中的FLASH芯片(型号:W25Q64)是一种使用SPI通讯协议的NOR FLASH存储器, 它的CS/CLK/DIO/DO引脚分别连接到了STM32对应的SPI引脚NSS/SCK/MOSI/MISO上,其中STM32的NSS引脚是一个 阅读全文
posted @ 2024-09-05 15:42 hazy1k 阅读(30) 评论(0) 推荐(0) 编辑
摘要:第二十章 AT24C02存储小数 1. 硬件设计 参考第18章 硬件I2C实验 2. 软件设计 这里就主要讲解主函数啦,因为其他部分是和硬件I2C一样的 #include "stm32f10x.h" #include "./usart/bsp_usart.h" #include "./i2c/bsp 阅读全文
posted @ 2024-09-04 10:53 hazy1k 阅读(6) 评论(0) 推荐(0) 编辑
摘要:第十九章 模拟I2C 1. 硬件设计 我们使用GPIO来模拟I2C,无其他硬件资源 2. 软件设计 I2C的GPIO宏定义配置 #define EEPROM_I2C_WR 0 // 写控制bit #define EEPROM_I2C_RD 1 // 读控制bit #define EEPROM_GPI 阅读全文
posted @ 2024-09-04 10:43 hazy1k 阅读(10) 评论(0) 推荐(0) 编辑
摘要:第十八章 硬件I2C EEPROM是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载之。 EEPOM芯片最常用的通讯方式就是I2C协议, 本小节以EEPROM的读写实验为大家讲解STM32的I2C使用方法。 实验中STM32的I2C外设采用主模式,分别用作主发送器和主 阅读全文
posted @ 2024-09-04 10:28 hazy1k 阅读(6) 评论(0) 推荐(0) 编辑
摘要:第十七章 DMA外设到存储器实验 1. 硬件设计 外设到存储器使用到USART1功能,具体电路设置参考USART章节,无需其他硬件设计。 2. 软件设计 2.1 编程目的 配置USART通信功能; 设置串口DMA工作参数; 使能DMA; DMA传输同时CPU可以运行其他任务。 2.2 代码分析 串口 阅读全文
posted @ 2024-08-29 15:19 hazy1k 阅读(2) 评论(0) 推荐(0) 编辑