自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 I2C总线的深入理解与GPIO模拟I2C

学习I2C(Inter-Integrated Circuit)可以从以下步骤开始:1.1.了解I2C的基本原理和工作方式:I2C是一种串行通信协议,用于在集成电路之间传输数据。它使用两根线(数据线和时钟线)进行通信,支持多个设备通过总线连接。学习I2C的基本原理和信号传输过程是理解和应用它的关键。1.2.学习I2C的协议规范:深入研究I2C的协议规范,包括数据传输格式、起始和停止条件、地址分配、数据传输速率等。了解这些规范将帮助你正确地配置和操作I2C设备。

2023-06-25 11:19:06 3644

原创 年轻人存款难

近日,有调查称“大概五分之一的年轻人存款在一万元以内。10万元存款是一个“坎”,存款超过10万就会超过53.7%的人。”“年轻人”“存款”两个词碰撞在一起,引来了广泛的关注和讨论。你认为年轻人存款难吗?可以从以下几个角度发表你的看法~

2023-06-22 11:17:02 133 1

原创 H264解码(1)——NALU

本文只是对NALU做一个简要的概述,对于其body部分仍有很大内容可以进行讲解,该部分内容将于日后再说。

2023-06-22 10:59:37 472 1

原创 H264详解、熟悉与理清脉络

随着音视频的发展,H264的研究也愈发激起大家的兴趣,然而,H264里面是非常庞大的内容架构,一时间是很难以了解清楚,本文在本人的工作使用以及综合了各方面资料的基础上,将H264简要的进行一个脉络整理,意在让大家对该内容有一个大致框架的理解。另外,针对各个重要模块的内容详解,将在后续进行展开说明。

2023-06-21 11:26:28 1535 1

原创 yuv数据色彩空间——yuv444和yuv420深度解析

色彩空间是一系列颜色的数学表示形式。当提到视频时,许多人在实际指“颜色模型”时会使用术语“色彩空间”。一些常见的颜色模型包括 RGB、YUV 4:4:4、YUV 4:2:2 和 YUV 4:2:0。本页旨在解释视频设置中颜色的表示形式,同时概述常见颜色模型之间的差异。

2023-06-20 10:51:31 1092

原创 mstar339G芯片应用开发系列

由于mstar芯片的逐渐普及,本文将开始对mstar芯片的应用开发做一个系列的介绍,同时也是对自己工作过程中的问题的记录以及给予其他软件开发工程师一些避坑指南。

2023-06-19 16:35:07 132

原创 IMU惯性测量单元之陀螺仪综述

IMU的陀螺仪的使用,使用四元数进行姿态解算

2022-06-12 12:22:00 3874 2

原创 简明理解——快速排序

快速排序是排序算法中非常有意思的一个算法,今天深入浅出地剖析快排的方法及思路。(以下默认使用由小到大的排序)可以这么认为:快排就是为了找出一个关键数,然后把小于它的放在左边,大于它的放在右边。后续分别把关键数的左边与右边的数按上述方法排列,直到最后一个。其中,特殊点在于比较和交换方案:(以下默认使用左边第一个值为关键数)比较方案:从右边开始,逐个与关键数进行比较,如果大于关键数的话,则不改变这个数的位置继续往左边推进,如果出现小于或等于的情况(此时就认为这个值需要切换到左边),更换方向,从左边开

2021-02-20 12:04:45 243

原创 库文件编译与介绍

库文件:一句话概述:将函数封装起来,放在里面,提供接口,供调用。库文件可以说是程序员必须接触的东西,我们常听说库,什么编码库,xx库啊等等,这些库,其实它的前身仍然是代码(跟我们平常写的.c等等这些文件差不多),只不过,它编译生成的不再是程序(里面没有main),而只是类似于头文件之类的,只提供接口,给别人调用。好处:①把常用的放在库中,需要的就直接调用(可以添加头文件来进行声明,否则,会隐式声明)②把不想公开的代码放在库中,但是留出头文件,给出接口,让其他人使用。怎么编译生成库:预备知识:

2020-09-23 22:27:26 1202

原创 回调函数与其回调机制

回调函数与其机制:是什么?一句话概括:A调B,并把C当参数传给B,B运行,再调用了充当参数的C。如下图:解析:应用层的函数A调底层的函数B,顺便把应用层的函数C当参数传给B,而B在底层执行的时候,需要回到应用层调用C,这个过程就叫回调,而函数C就是回调函数。为什么?就拿最常用的理由来说,假设甲和乙分别做镜头移动控制和镜头自动对焦,两个人,分开写代码,这个时候,乙需要用到镜头的位置信息,聚焦情况等,而这些东西是由甲所能够直接获得的,乙也不知道,那么,怎么办?可能有人会说:“过去问甲啊,让它把代

2020-09-02 22:25:32 259

原创 struct与字节对齐

一句话总结:编译器下,全体变量成员进行边界(地址)对齐!两句话解释:①编译器,会先让struct结构体内部成员按顺序进行边界(存放地址)对齐,对齐标准是各自变量类型的长度;②然后再让struct结构体进行最后的字节补充(方便下一个变量对齐),对齐标准是结构体内部类型长度最大的变量的整数倍。名词解释:①什么叫字节对齐?其实可以说是边界对齐,实际上就是让变量放置的那个地址要跟4对齐(假设默认情况下为4字节对齐,这个看情况,本人编译器为4字节对齐),或者2对齐等等的。通俗地讲(不是很严谨):例如

2020-09-01 20:45:22 657

原创 static的作用与使用介绍

static的作用非常的大,在实际应用中经常出现,因此,也常常作为面试官的面试题之一。它的用处,在其他地方均可找到,本文不再累赘,但是,具体是如何实现以上的作用呢?本文通过下面的例子,给大家介绍这个staic的常规用法:代码部分:#include <stdio.h>/**static ,常常使用在两种情况下:变量和函数* 1.变量:static定义的变量不会在函数重新进入时再次赋初值;不会在函数结束时而释放(存储在全局区);不会在循环中多次赋初值* 2.函数:static定义的

2020-08-31 20:53:48 414

原创 二重指针的深入理解与使用场合的说明

二重指针,实际上就是存放指针的地址。有点拗口,我们逐一解决:①指针变量:是一个变量,这个变量的值是指向某类型的数据的地址(即:指针变量 = 地址);②二重指针变量:在指针变量的基础上再往上溯源,它也是一个变量,这个变量的值是它所指向的指针的地址,即(二重指针变量 = 指针的地址)。换个方向再来捋一遍:(下方并非实际代码,简单演示)int *p;int **pp;①修改指针p的值:p = 另外一个指针;此时,改变的则是p所指向的变量的地址,即(p不再指向原来的区域,而指向新的区域);②修改

2020-08-30 22:34:56 632

空空如也

空空如也

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

TA关注的人

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