- 博客(12)
- 收藏
- 关注
原创 算法系列——高斯滤波
高斯滤波是一种基于高斯函数的线性平滑技术,广泛应用于信号处理领域。本文系统介绍了其核心原理、C语言实现及优化方法。文章首先阐述高斯滤波的加权平均特性,详细解析高斯核生成步骤(包括窗口确定、高斯值计算和归一化处理)。随后结合代码实例,深入分析数据结构设计、初始化流程、卷积运算实现及状态管理机制。针对不同应用场景,文章对比了高斯滤波的优缺点,并给出参数选择建议(如窗口大小取6σ+1)和优化方向(动态参数调整、快速卷积算法等)。最后强调在实际应用中需平衡滤波效果与计算效率,特别在实时系统中要考虑信号延迟问题。
2025-09-25 09:24:25
1519
原创 算法系列——贝塞尔曲线
本文系统介绍了贝塞尔曲线的原理与实现。从定义上,贝塞尔曲线是由控制点决定的参数曲线,分为一阶(线性)、二阶(二次)、三阶(三次)及N阶等多种类型。文章详细推导了各阶贝塞尔曲线的数学表达式,并提供了完整的C语言实现,包括数据结构定义、各阶曲线算法以及通用的N阶递归解法。特别介绍了组合数计算等关键数学工具,给出了完整的测试代码示例。最后分享了控制点优化和曲线拼接等实战技巧,为计算机图形学等领域应用贝塞尔曲线提供了实用指导。
2025-09-24 13:57:33
980
原创 教程系列(1)——MDK-ARM 5(Keil 5)的安装及使用
MDK-ARM5安装使用指南:安装时需使用英文路径,避免与KEIL4/5目录冲突。安装步骤包括运行安装程序、同意协议、选择路径、填写信息等。破解需通过注册机获取许可号。器件库需手动添加对应芯片型号的安装包。J-Link驱动安装完成后需配置下载选项,选择SW模式并添加Flash配置。最后编译程序并下载到开发板,注意保持仿真器连接和电路板供电。
2025-01-03 15:42:14
2311
原创 FreeRTOS 小技巧(1)—— 打印系统当前的任务列表,任务状态,优先级,使用率,堆栈内存等信息
本文介绍了三种FreeRTOS任务信息输出方法:1. vTaskList()以表格形式输出所有任务状态、优先级和栈信息;2. vTaskGetRunTimeStats()统计各任务运行时间和CPU使用率;3. vTaskGetInfo()获取指定任务的详细参数,包括堆栈使用情况等。每种方法都提供了示例代码和输出格式说明,帮助开发者监控系统任务运行状态。
2024-06-03 16:08:55
2464
原创 FreeRTOS 学习笔记(3)—— 中断配置和临界段
本文详细介绍了Cortex-M处理器中断机制及FreeRTOS的中断配置方法。主要内容包括:1. Cortex-M中断特性,包括240个IRQ、优先级分组(抢占/亚优先级)、关键寄存器(PRIMASK、FAULTMASK、BASEPRI)的功能及配置方式;2. FreeRTOS中断配置宏定义解析,如优先级位数设置、内核中断优先级配置、系统可管理中断范围划定等;3. FreeRTOS的开关中断实现机制,通过BASEPRI寄存器选择性屏蔽中断;4. 临界区代码保护方法,区分任务级和中断级两种保护方式,并说明嵌套
2023-07-17 15:57:37
2791
1
原创 FreeRTOS 学习笔记(2)—— 系统配置
FreeRTOS通过FreeRTOSConfig.h文件进行系统配置和裁剪,主要使用两类宏定义:"INCLUDE_"开头的宏用于使能/禁用特定API函数,"config"开头的宏用于系统级配置。这些宏通过条件编译实现功能定制,可节省存储空间。关键配置包括:堆栈溢出检测、任务优先级数量、系统时钟频率、内存管理方式等。配置文件还支持调试功能如断言检查、运行时统计等。合理配置这些参数可以根据硬件资源优化系统性能,降低MCU资源占用成本。
2023-07-14 16:53:49
969
1
原创 FreeRTOS 学习笔记(6)—— 列表和列表项
本文详细介绍了FreeRTOS中的列表和列表项数据结构及其操作函数。主要内容包括:1. 列表(List_t)和列表项(ListItem_t)的结构定义及成员变量说明,其中列表项分为普通列表项和迷你列表项两种;2. 关键API函数的实现原理,包括列表初始化(vListInitialise)、列表项插入(vListInsert/vListInsertEnd)和删除(uxListRemove)等;3. 通过实验验证了列表操作函数的功能,在STM32开发板上创建任务对列表进行初始化、插入和删除操作,并通过串口输出观
2023-07-14 11:06:19
1948
1
原创 FreeRTOS 学习笔记(5)—— 任务管理实践
本文介绍了基于STM32F103RCT6开发板的FreeRTOS任务管理实验,包含三个部分:任务创建与删除(动态/静态方法)和任务挂起与恢复。实验一通过动态方法创建三个任务,其中Task1在运行5次后删除Task2;实验二改用静态方法实现相同功能,需配置静态内存分配;实验三通过按键控制任务的挂起和恢复,KEY0挂起任务,KEY1/WK_UP分别恢复任务。实验验证了FreeRTOS的任务管理API函数,展示了任务优先级、临界区保护和中断处理机制的应用。所有实验均通过LCD显示任务状态,串口输出调试信息,完整演
2023-07-12 09:54:41
716
1
原创 FreeRTOS 学习笔记(4)—— 任务管理理论
FreeRTOS采用抢占式内核,相比裸机的轮询机制具有更好的实时性,能够优先执行高优先级任务。FreeRTOS任务有四种状态:运行态、就绪态、阻塞态和挂起态,每个任务都有优先级和任务控制块。任务调度通过堆栈保存现场实现任务切换。FreeRTOS提供动态和静态任务创建API,如xTaskCreate()和xTaskCreateStatic(),以及任务删除、挂起和恢复等功能函数。任务首次执行从函数开头开始,之后从while循环继续执行。FreeRTOS的任务管理机制确保了多任务环境下系统的高效运行。
2023-07-11 10:54:09
526
1
原创 FreeRTOS 学习笔记(1)—— 系统源码移植到 STM32F103
FreeRTOS V9.0.0移植指南 本文介绍了FreeRTOS V9.0.0在STM32平台上的移植过程。FreeRTOS是一个开源、可裁剪的实时操作系统内核,支持多任务管理和资源同步。移植步骤包括:1)提取最简源码并建立目录结构;2)拷贝配置文件FreeRTOSConfig.h;3)添加源码到工程组;4)指定头文件路径;5)根据需求修改配置文件;6)调整中断服务函数。重点说明了内存管理选择(推荐heap4.c)、系统时钟配置和中断优先级设置等关键环节。移植完成后,FreeRTOS即可为STM32提供任
2023-06-30 15:16:55
937
2
原创 STM32F103 学习笔记(2)—— GPIO 初始化/配置
本文介绍了STM32F103微控制器的GPIO功能及其应用。STM32F103基于ARMCortex-M3内核,具有丰富的GPIO外设资源。文章详细阐述了GPIO的8种工作模式(4种输入模式和4种输出模式),包括浮空输入、上拉/下拉输入、模拟输入、开漏输出和推挽输出等模式的特点及应用场景。通过LED初始化示例,展示了GPIO配置的具体步骤:使能时钟、设置引脚模式、配置输出电平。最后介绍了调试端口复用为IO口的方法,为IO资源不足时提供解决方案。
2023-06-28 16:05:03
12915
6
原创 嵌入式硬件基础与实践(1)—— 基本电子元件
本文介绍了电子电路中常见的元器件及其特性。主要包括:电阻器(固定/可变/特殊电阻)、电容器(隔直通交作用)、电感器(空心/磁芯线圈)、二极管(PN结结构)、三极管(双极型器件)和MOS管(单极型场效应管)。详细说明了各类元器件的分类方法、结构特点、工作原理及主要参数,如电阻色环读数、电容的绝缘介质、二极管的最大整流电流等。这些基础元器件在电子设备中发挥着整流、滤波、放大等关键作用。
2023-06-27 14:16:35
1331
3
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅