红叶落水
码龄4年
求更新 关注
提问 私信
  • 博客:88,781
    问答:16
    88,797
    总访问量
  • 44
    原创
  • 2,839
    粉丝
  • 192
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:陕西省
加入CSDN时间: 2021-06-08
博客简介:

红叶落水的博客

查看详细资料
个人成就
  • 获得128次点赞
  • 内容获得95次评论
  • 获得847次收藏
  • 代码片获得609次分享
  • 博客总排名34,086名
  • 原力等级
    原力等级
    4
    原力分
    788
    本月获得
    20
创作历程
  • 1篇
    2025年
  • 5篇
    2024年
  • 13篇
    2023年
  • 25篇
    2022年
成就勋章
TA的专栏
  • 嵌入式开发
    9篇
  • C语言学习
    4篇
  • RTOS
    6篇
  • 单片机原理学习
    7篇
  • 微信方法备份
    2篇

TA关注的专栏 1

TA关注的收藏夹 0

TA关注的社区 2

TA参与的活动 2

兴趣领域 设置
  • 前端
    javascriptcssvue.jsxhtml
  • 后端
    node.js
  • 嵌入式
    stm32
创作活动更多

『技术文档』写作方法征文挑战赛

在技术的浩瀚海洋中,一份优秀的技术文档宛如精准的航海图。它是知识传承的载体,是团队协作的桥梁,更是产品成功的幕后英雄。然而,打造这样一份出色的技术文档并非易事。你是否在为如何清晰阐释复杂技术而苦恼?是否纠结于文档结构与内容的完美融合?无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

55人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

GD32H7复位后程序调用函数时间增加

在GD32H7程序中,发现函数调用时间在第一次下载与硬件复位重启后存在显著差异,分别为13ms和51ms。经排查,问题主要出现在函数形参数量超过4个或总大小超过4x32bit时,系统会使用堆栈传递参数,导致指令层次增加,从而降低执行效率。具体表现为内存加载指令LDR r4, [sp, #0xC]的使用。为解决此问题,建议减少函数参数个数,或采用地址传参的方式,以优化函数执行效率。
原创
发布博客 2025.05.10 ·
159 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

IIR滤波器参数计算函数

发布资源 2024.11.22 ·
c

可编程实时FIR数字滤波器300M

发布资源 2024.11.17 ·
rar

可编程实时数字FIR滤波器

发布资源 2024.11.17 ·
rar

2024年研究生数学建模 华为杯C题

发布资源 2024.11.11 ·
pdf

2024 研究生数学建模 华为杯C题

对于不同材料和温度变化时会产生不可避免的误差, 因此本问题要在原斯坦麦茨方程的基础上,通过增加温度这一优化因子,对磁芯损耗的计 算进行修正与完善,构造出一个适合不同温度条件的修正模型。在对实验参数进行分析后, 拟合出加入温度优化银子的修正方程,并且同原斯坦麦茨方程进行进一步的相互对比,分 4 析两者在预测磁芯损耗的效果之间的优劣。根据模 型的分类结果,将波形的分类标签(1表示正弦波,2表示三角波,3表示梯形波)填入附 件四,并输出附件二中的波形分类的数量统计结果,用表格对指定样本序号的波形结果进 行处理。
原创
发布博客 2024.11.11 ·
852 阅读 ·
21 点赞 ·
0 评论 ·
9 收藏

RISC-V开发 linux下GCC编译自定义指令流程笔记

GCC提供了内嵌汇编的功能可以在C代码中直接内嵌汇编语言语句方便了程序设计。使用内嵌汇编,要先编写汇编指令模板,然后将C语言表达式与指令的操作数相关联,并告诉GCC对这些操作有哪些限制条件。input= 1;return 1;对应的汇编代码如下;行号 代码 解释178 movl $1, input 对应C语言语句input = 1;9 movl input, %eax 隐式处理10 #APP GCC插入的注释,表示内嵌汇编开始11 movl %eax,%eax 我们的内嵌汇编语句。
原创
发布博客 2024.09.29 ·
1647 阅读 ·
12 点赞 ·
2 评论 ·
11 收藏

A题 农村公交与异构无人机协同配送优化

此外,异构无人机的引入,能够根据不同配送需求进行灵活的任务分配,进一步优化配送流程,满足农村地区多样化的物流需求。复杂的地形,如山地和河流等自然障碍,使得道路建设困难重重,导致道路网络稀疏,而分散的配送点进一步增加了物流的复杂性。该方法的实施,展现了贪心算法在物流配送优化问题中的应用潜力,为解决类似的实际问题提供了一种高效且经济的解决方案。此外,该策略还考虑了整数规划模型中的决策变量,确保了解决方案的可行性和实用性,进一步增强了模型的优化效果。每个需求点的任务是不可分割的,一辆公交车最多携带两架无人机。
原创
发布博客 2024.09.06 ·
1296 阅读 ·
11 点赞 ·
0 评论 ·
20 收藏

基于STM32/GD32的语音识别系统

人类可以听到的音频信号频段范围在20kHz以下。本系统为了减少功耗,提高语音质量。添加了语音识别算法,可以实时识别当前音频是人声,音乐,或者是噪声。如果是噪声,则会关闭扬声器输出,降低系统功耗。
原创
发布博客 2024.07.29 ·
771 阅读 ·
3 点赞 ·
5 评论 ·
6 收藏

设置开发板程序自启动-备忘录

查看文件命名格式,并创建一个文件S99z(确保该文件最后执行)。首先,将编译好的程序下载到开发板里面。cd /etc/init.d文件夹下。在start()中修改文件路径即可。在stop()中关闭程序。
原创
发布博客 2024.07.25 ·
287 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

一个载波为2M Hz 调制信号可能为1000 2000 3000 4000 5000(单位均为Hz)的信号,请问使用300K的带通采样,是否可以

答:

可以的,300k的带通采样实际上指的是频带的带宽范围。以300k为周期,将0到300k,300k到600k,600k到900k等频谱重叠到一起。带通采样只有在预先知道目标信号的情况下,才能很好的发挥作用。并且要保证只有300k的带宽范围内有信号,其他频段是没有信号的情况下,才能用带通采样分析高频率的信号。

回答问题 2024.04.21

2023年电赛D题完成品视频

发布资源 2023.08.07 ·
mp4

23年电赛D题-信号调制方式识别与参数估计装置

缺点,受单片机性能影响,FFT的精度不够,我使用的是300k采样率,12位AD, 8192采样点数,单精度FPU,168M运算主频进行分析。比如说将FM信号通过一个微分器,就可以达到数字求导的作用,变成一个AM和FM的混合体的样子,可以通过读取AM的信号幅度与频率来获得FM的信号频率以及频偏。缺点,对于AD位数要求高,使用单片机的内置AD无法达到题目要求,但是我试过外接一个24位的AD,可以提高分辨精度。识别信号有很多思路,最简单的方式便是通过对信号进行FFT分析,分析其中的各个谐波的特征值。
原创
发布博客 2023.08.07 ·
5350 阅读 ·
9 点赞 ·
55 评论 ·
85 收藏

C缺陷与陷阱-符号

【代码】C缺陷与陷阱-符号。
原创
发布博客 2023.05.31 ·
219 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

C语言指针笔记

【代码】C语言指针笔记。
原创
发布博客 2023.05.31 ·
204 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

左值与右值

由此可以看出int arr2[]作为形参时确实是一个int* 的指针,int arr2[]被转化为指针类型,至于为什莫不直接用指针呢,大概是为了语义化,并且方便在函数内部使用数组吧。关于指针与地址的一些感悟 地址是一个常量,右值,立即数,是固定的,在内存中表示某一个位置,是某一个位置的名字,对于地址的访问属于电路的操作,对于软件语言只是一个名字。数组名和函数名都可已被取地址,并且&arr == arr?int n = 1;当然,数组可以作为形参来接受数组地址,那是不是就意味着数组是一个指针呢?
原创
发布博客 2023.05.25 ·
449 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos笔记-任务切换

跳出 3. 循环 (一般用于死循环的第二次循环,因为第一次肯定是溢出了,但是,可能溢出的不止一个,所以要把所有溢出的都找到,最后,找到下一个溢出值)3.5 判断是否要进行任务切换,如果溢出任务优先级高于运行任务优先级的话,会切换任务,而且切换的任务一定是是先添加进去的任务,原因1 高优先级的列表一定为空,pxIndex=>xlistend,而且添加的任务是添加到。作用场景为 当前任务和溢出的任务相同优先级,那么下一个执行的会是溢出的任务,当然如果列表里还有其他任务的话不一定是会执行这个溢出任务,
原创
发布博客 2023.05.25 ·
1023 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos笔记-任务基本构造

/删除任务,并在空闲任务中释放空间(堆栈以及TCB的空间)TCB空间如果是动态创建任务的话,就是自动分配自动回收,如果是静态创建,就需要初始化一下,而且必须是初始化StaticTask_t该结构体,而不是值初始化一个结构体指针。将该任务挂起,只有调用任务恢复函数 vTaskResume()或 xTaskResumeFromISR()才会恢复该任务,其他的队列,任务通知,delay都不能将其唤醒。表示有多少个任务要被清理。5. 如果该任务正在运行,切换上下文 portYIELD_WITHIN_API();
原创
发布博客 2023.05.25 ·
855 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos笔记-内核函数配置

调用了几次 vTaskSuspendAll()挂起调度器,同样的也得调用几次 xTaskResumeAll()才会最终恢复任务调度器。PC = 任务函数指针 入栈。(4). 初始化任务 prvInitialiseNewTask();//以下是任务参数的初始化。(5). 将任务添加到就绪列表中 prvAddNewTaskToReadyList();xTaskGetApplicationTaskTag() 获取某个任务的标签(Tag)值。
原创
发布博客 2023.05.25 ·
878 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

freertos笔记-各种列表运行原理

就是说,列表中的第一个任务不是最先执行的,也许是刚一执行就立马遇到了新的切换吗 应该是,经过仿真器逐步调试,发现。有一个疑问,当节拍间隔比较小时,第一个执行的任务并不是预期的任务,节拍大一点时,才符合逻辑?2-true. 如果没有任务在运行, pxCurrentTCB指向新添加的这个任务, (这里会造成刚开始的时候,最先运行的是最后一个创建的任务)4.1.5.2 taskSELECT_HIGHEST_PRIORITY_TASK()获取就绪列表最高优先级的任务。挂起PendSV中断。
原创
发布博客 2023.05.25 ·
786 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏
加载更多