自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 stm32f4 makefile freertos 移植 CmBacktrace 内部Flash保存回溯信息

在 stm32f4 makefile FreeRtos下移植CmBacktrace 并将错误回溯信息写入内部flash中,最后进行错误回溯,问题定位

2024-12-24 15:54:21 1820 2

原创 STM32 cubemx 重新生成代码或者复制项目到其他路径打开在cubeide中无法debug 跳转到奇怪的位置

可以用git进行文件对比看修改了哪些路径文件,还原一下就好了,我这边出现的主要是。language.settings文件。将其还原就可以正常debug了。还有.cproject文件。

2024-11-09 17:37:03 473

原创 DMA循环模式ringbuf缓冲区搭建

这一种数据处理机制是“非缓冲中断方式”,虽然这种数据处理方式不消耗时间,但是这种数据处理方式严重的缺点是:数据无缓冲区,如果先前接收的的数据如果尚未发送完成(处理完成),然后串口又接收到新的数据,新接收的数据就会把尚未处理的数据覆盖,从而导致“数据丢包”。虽然这样的做法能起到一定的“缓冲效果”,但是数组的空间得不到很好的利用,已处理的数据仍然会占据原有的数据空间,直到该数组“满载”(数组的每一个元素都保存了有效的数据),将整个数组的数据处理完成后,重新清零数组,才能开启新一轮的数据接收。

2022-11-17 18:10:36 2364 1

原创 Linux下v4l2框架的摄像头驱动入队出队失败解决方法(camera->dqbuf: dequeue buffer timeoutcamera->eqbuf: Invalid argument)

不同摄像头性能不一样,超时检测稍微设长一点也没关系。一般为4到10,自己多试试,找到最稳定那个就行。有些笔记本电脑不同的USB端口性能不一样。能解决99%的问题但不一定能解决这个问题。MJPG和YUYV换一下。

2022-10-21 10:59:16 1853

原创 Linux - 多路复用I/O [select]

所以这里的读事件表表示的就是 4号 5号 6号文件描述符代表的客户端已连接上了 3号文件描述符代表的服务器,并且已加入读事件表,事件响应标志位的0代表的是该客户端并未就绪。第二行为读事件响应标志位,该文件描述符读事件就绪就为1,没就绪就为零,这里举个例子。在多路复用IO模型中,会有一个线程不断去轮询多个socket的状态,只有当socket真。致后续的事件迟迟得不到处理,并且会影响新的事件轮询,在很大程度上降低了事件探测的及时性。如果试图建立一个简单的事件驱动的服务器程序,这个模型有一定的参考价值。

2022-08-21 13:03:11 544

原创 Linux - 多进程、线程服务器实现

缓存 IO又被称作标准 IO,大多数文件系统的默认 IO 操作都是缓存 IO。在 Linux 的缓存 IO 机制中,操作系统会将 IO 的数据缓存在文件系统的页缓存( page cache )中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间数据在传输过程中需要在应用程序地址空间和内核进行多次数据拷贝操作,这些数据拷贝操作所带来的 CPU 以及内存开销是非常大的。......

2022-08-18 20:01:33 484

原创 Linux进程间通信——管道通信

1.UNIX平台进程通信方式AT&T的贝尔实验室,对Unix早期的进程间通信进行了改进和扩充,形成了“system V IPC”,其通信进程主要局限在单个计算机内BSD(加州大学伯克利分校的伯克利软件发布中心),跳过了该限制,形成了基于套接字(socket)的进程间通信机制Linux继承了上述所有的通信方式2.常用的进程间通信方式1)传统的进程间通信方式无名管道(pipe)、有名管道(fifo)和信号(signal)2)System V IPC对象。...

2022-08-10 19:56:34 2005

原创 Linux 进程及相关操作

表中的前四个函数的查找方式都是指定完整的文件目录路径,而最后两个函数(以p结尾的函数)可以只给出文件名,系统会自动从环境变量“$PATH”所包含的路径中进行查找。1)一个进程通过fork函数创建一个新的进程,原本进程称为新进程的父进程,新的进程称为原进。如果某个进程想同时执行另一个程序,它就可以调用fork函数创建子进程,然后在子进程中调用任。3)如果子进程先于父进程结束,且父进程没有回收子进程资源;子进程称为孤儿进程,由前台进程变为后台进程,统一由init进程(系统默认进程)收养;...

2022-08-08 20:30:11 1366 2

原创 文件IO -- 目录的操作(实现 ls -l 的功能)

2.读取目录 -- readdir注:readdir 一次只能随机读取一个目录项注意它的返回值类型是结构体,所以在调用时就要定义同类型(struct dirent)的变量来接收它 4.获取文件属性 -- lstat这里注意lstat的形参也是结构体形,这里把这个结构体的成员也罗列出来了,还罗列了getgrgid 和 getpwuid 函数;...

2022-08-06 17:46:38 662 1

原创 哈希查找Hash locating

设H(key)取值范围(值域)为[0,m-l],建立头指针向量HP[m],HP[i](0≤i≤m-l)初值为空。当发生冲突时,在H(key)的前后找一个空闲单元来存放冲突的记录,即在H(key)的基础上获取下一。以上是构造哈希函数避免冲突,但我们往往发现依然存在少量冲突,所以我们要寻求解决冲突的方法。查找数据时,就把要查找的数据进行之前编码的函数计算从而获得数据的地址,然后直接。函数的方法很多,原则是尽可能将记录均匀分布,以减少冲突现象的发生。关是因为记录在存储器中的存放是随机的,或者说记录的key。...

2022-08-04 20:29:13 499

原创 数据结构(树—tree)(二叉树的遍历)C语言

树的概念树(Tree)是n(n≥0)个节点的有限集合T,它满足两个条件 :1)有且仅有一个特定的称为根(Root)的节点;2)其余的节点可以分为m(m≥0)个互不相交的有限集合T1、T2、……、Tm,其中每一个集合又是一棵树,并称为其根的子树(Subtree)。、。1)一个节点的子树的个数称为该节点的,一棵树的度数是指该树中节点的最大度数。2)度数为零的节点称为或,度数不为零的节点称为分支节点,除根节点外的分支节点称为内部节点。3)一个节点的子树之根节点称为该节点的,该节点称为它们的。...

2022-08-02 21:29:01 639 1

空空如也

空空如也

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

TA关注的人

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