V4L2快速上手指南 v4l2应用编程 查询设备的属性/能力/功能 打开设备之后,接着需要查询设备的属性,确定该设备是否是一个视频采集类设备、以及其它一些属性 查询设备的属性,使用的指令为VIDIOC_QUERYCAP ioctl(int fd, VIDIOC_QUERYCAP, struct v4l2_capability *cap); 此时通过…
多线程条件变量 条件变量 条件变量是用来通知共享数据的状态信息的机制。由于涉及共享数据,因此条件变量是结合 互斥量来使用的。 创建&销毁条件变量 POSIX 用pthread_cond_t 类型的变量来表示条件变量。程序必须在使用pthread_cond_t变量之前对其进行初始化。对那些静态分配的、使用默认属性的pthread_c…
Linux系统中我们经常习惯于直接使用shell命令进行文件目录操作,但是对于我们的程序来说,有时候并不能像我们使用shell命令一样方便,这时候就需要使用Linux系统的系统调用和自带库函数对文件目录进行操作。 system() or 系统调用? 当然也有人可能会说Linux不是有system函数吗,可以直接使用system(cmd)函数传入sh…
sqlite 本文主要是讲解一下sqlite的基础使用,主要是应用在Qt上面 SLQ语句 创建,打开数据库 sqlite3 *.db 退出数据库 .quit 或 .exit 对数据库中表及内容操作的语句 QT数据库 要使用qt的sqlite数据库,需要在pro文件里面添加sql类 QT += core gui sql Qtsqlite数据库接口 Q…
本篇内容将带领大家快速入门cJSON开源库的使用,主要是为了能够快速上手cJSON的基础使用,主要是对于一个cJSON文件的打开与读取,对于一般的读取配置文件已经足够使用了 cJSON对象的实现使用的是树结构,每个对象是树的一个节点,每个节点由cJSON这个结构体组成,对象中的元素也由cJSON这个结构体组成。同一层的对象和元素是双向链表结构,由n…
个人博客搭建流程 个人网页搭建流程 gitee仓库链接:https://gitee.com/kidwjb/studyNotes/tree/master/%E5%89%8D%E5%90%8E%E7%AB%AF%E5%BC%80%E5%8F%91 前期准备 公网服务器搭建 我选择使用的是阿里云的ESC轻量云服务器,用于平时的个人博客搭建戳戳有余,并且阿…
星闪SLE服务端开发 本文主要简要概述星闪SLE服务端开发流程,由于目前开源出来手册不多,所以主要的流程熟悉还是以阅读代码为主,个人学习建议:将星闪客户端的代码整体抄一遍,不会的可以类比蓝牙向AI提问,这也能够更加加深理解,星闪SLE客户端开发 笔者在gitee仓库开源了一整套关于WS63的外设以及星闪开发应用,欢迎大家访问:星闪学习 HiSpar…
星闪SLE客户端开发 星闪SLE客户端开发本文主要简要概述星闪SLE客户端开发流程,由于目前开源出来手册不多,所以主要的流程熟悉还是以阅读代码为主,个人学习建议:将星闪客户端的代码整体抄一遍,不会的可以类比蓝牙向AI提问,这也能够更加加深理解笔者在gitee仓库开源了一整套关于WS63的外设以及星闪开发应用,欢迎大家访问:星闪学习HiSpark官方…
从C的角度接触到dynamic_cast 从C的角度接触到dynamic_cast dynamic_cast关键字写这篇文章的原因是因为笔者在遇到dynamic_cast时在网上查询文章资料讲解的都不是很清楚,至少对于笔者这种没有系统学习C++的人来说,由于之前一直是使用C语言开发,所以很多思想停留在C阶段,所以笔者在看了其他文章后通过与AI沟通逐…
瑞芯微mpp编码 瑞芯微mpp编码 本篇文章将详细讲解瑞芯微mpp的编码使用,从编译开始到API解析到源码全部开放,让大家能够对瑞芯微mpp编码有一定的了解,具体深入可以查看瑞芯微的官方手册个人gitee仓库源码笔者使用的芯片是RK3576,但是对应瑞芯微支持mpp的芯片的思想以及调用API都是一样的mpp编译mpp交叉编译环境配置更改交叉编译工具…