自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 MATLAB双目标定生成表格

相机1径向畸变(1,2,5)xlswrite('out.xlsx',stereoParams.CameraParameters2.IntrinsicMatrix.',1,'B10');rowName{1,3} = '相机1内参矩阵';

2025-04-28 11:42:48 401

原创 Ubuntu22.04 被虚拟机关机后 再开机 网络图标没了

rm: 无法删除 '/var/lib/NetworkManager/NetworkManager.state': 权限不够。root@yzf-VM:/home/yzf/桌面# service NetworkManager stop。(base) yzf@yzf-VM:~/桌面$ service NetworkManager stop。(base) yzf@yzf-VM:~/桌面$ sudo su。root@yzf-VM:/home/yzf/桌面#输入红色 网络图标恢复。

2025-04-28 11:25:31 287

原创 普通信号量、互斥量、递归互斥量的区别

【代码】普通信号量、互斥量、递归互斥量的区别。

2024-12-22 16:42:40 583

原创 freertos递归互斥量实际使用场景

普通互斥量:同一任务不能重复请求已经持有的互斥量,否则会导致死锁。递归互斥量:允许同一任务重复获取它,只要获取和释放次数匹配即可。递归互斥量通过维护一个“持有计数器”实现,每次获取都会增加计数,每次释放则减少计数,只有当计数归零时,互斥量才会真正释放给其他任务。

2024-12-22 16:24:16 617

原创 学习野火FreeRtos任务管理部分的问题

在 FreeRTOS 中,由于任务调度的特性,低优先级任务在高优先级任务运行时会被抢占,因此如果串口打印任务(通常是低优先级任务)被高优先级任务中断,打印过程可能没有完全执行,从而导致输出不完整或未输出。发现是由于按键任务的优先级高,然后按键任务执行频率过快,LED任务里串口正在打印的过程中被按键任务抢占,然后按键任务阻塞后,程序并不会立刻回到串口打印任务中继续执行,而是会依赖于系统的调度机制来决定。如果串口打印任务频繁被高优先级任务抢占,可以考虑将串口打印任务的优先级提高一些,以减少被抢占的可能性。

2024-12-16 17:53:41 270

原创 设备自检函数,要运行自检多个自检函数,将各函数名放入数组,通过运行数组与游标在循环中运行多个自检函数

今天在实习公司改BUG,发现了设备自检过程中的bug,但看前人写的代码,这个运行方式,确实有惊艳到我。是一个设备自检过程的节选,要运行自检多个自检函数,将各函数名放入数组,通过运行数组与游标在循环中运行多个自检函数,通过res = selfCheck[selfIndex]()来逐个运行,不会让出去那么冗杂,且能准确记录到在哪个程序那里自检失败,然后执行相应的命令。

2024-10-28 16:45:25 166

原创 独立按键短按与长按

在嵌入式系统或任何使用按键输入的设备中,区分按键的短按和长按是一种常见的需求。短按通常指的是用户按下并释放按键的时间很短,而长按则是用户持续按下按键超过一定的阈值。

2024-09-24 14:18:29 1023

原创 STM32F407串口通信程序波特率设置115200,上位机显示乱码,上位机设置38400才通信正常。

最近在实习公司使用的STM32F407ZGT6的主控板,板子是公司硬件部门设计的,我在调试这个板子的时候发现串口通信一直乱码,烧录了例程也是乱码,找了很多问题才发现,是由于晶振不对。如果HSE为8MHz,PLL_M设置为8,为了达到STM32F407的最大频率168MHz,需要选择合适的PLL_N和PLL_P值。而波特率的设置依赖于USART的时钟源和USARTDIV的值,而USARTDIV是通过以下公式计算得出的:USARTDIV=时钟源频率/(波特率×16)编译下载即可使用115200波特率通信。

2024-09-14 15:59:17 1634 1

原创 FreeRtos中使用队列在不同任务中传输数据的两种方式:拷贝变量的内存地址和拷贝变量本身的值存在的问题

以上代码是首先在任务1中通过输入sum的地址到xQueueSend函数将sum的值拷贝进队列中,然后在任务2中通过输入val的地址到xQueueReceive函数中将队列中的值拷贝到val的地址,从而通过队列实现了任务1到任务2的传递,但是在数据多,数据量大的时候使用这个值的拷贝机制就会比较复杂。这意味着在任务之间传递数据时,实际传递的是数据的副本,而不是原始数据的引用。从图中可以看到从任务2切换到任务1取数据的过程 过程存在一定间隔约3ms,在这过程中,任务1继续执行佳佳,改变了结构体内的数值从而导致。

2024-07-27 17:25:05 846

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除