- 博客(21)
- 收藏
- 关注
原创 STM32设置OV5640获取1080P图片
该模块采用 OmniVision 公司生产的一颗 1/4 英寸CMOS QSXGA( 25921944)图像传感器 OV5640,配合高质量的光学镜头及为实现更高性能而精心设计的 PCBA,使该模块拥有了尽可能高的成像质量。注意:当拍照1080P照片时ov5640cfg.h的jpeg初始化数组中0x3035的值要设置为0x81,不能为0x21或0x41会导致图片在上位机传输显示不正常。由于富文本编辑上传代码太丑,因此需要完整代码可私信我(免费!以下是对各引脚的解释(该图转接于下方原文链接)
2024-08-30 10:20:22
1669
2
原创 带你一文解决进程间通信
cmd 执行的操作 setval(设置值) IPC_RMID(删除整个信号灯集合)返回值:成功时返回原先的信号处理函数,失败时返回SIG_ERR。映射共享内存,即把指定的共享内存映射到进程的地址空间用于访问。返回值:成功时返回上个定时器的剩余时间,失败是返回-1。返回值:成功时返回队列消息的id,失败时返回-1。返回值:成功返回共享内存的id,失败时返回-1。返回值:成功返回映射后内存首地址,失败返回-1。返回值:成功返回收到的消息长度,失败时返回-1。返回值:成功返回信号灯id,失败返回-1。
2023-09-08 20:31:02
207
1
原创 显示输出设备学习(1)
返回值:成功情况下,函数的返回值便是映射区的起始地址(即第一个参数的地址);发生错误时,返回(void *)-1, 通常使用MAP_FAILED 来表示, 并且会设置 errno 来指示错误原因。ioctl()函数获取屏幕硬件信息,常用的包:FBIOGET_VSCREENINFO、 FBIOPUT_VSCREENINFO、FBIOGET_FSCREENINFO。**addr:**文件映射到内存的首地址,通常为NULL由系统自动分配。:文件描述符,指定被映射的文件。:文件的偏移量,通常为0。
2023-08-21 20:26:14
261
1
原创 深入理解文件IO笔记
node 实质上是一个结构体,记录文件字节大小、文件所有者、文件对应的读/写/执行权限、文件时间戳、文件类型、 文件数据存储的 block(块)位置等等信息。O_APPEND标志并不会影响读文件,当读取文件时,即使使用了 O_APPEND标志,读文件位置偏移量默认情况下依然是文件头。fcntl函数的第三个参数是一个可变参,第三个参数需要根据不同的cmd来传入对应的实参,配合cmd来使用。inode table中存放一个个 inode节点,每个文件对应一个inode节点。数据区:用于存放文件中的数据;
2023-08-15 20:05:06
147
1
原创 linux文件文件基础
返回值:ssize_t (实际类型:long int),返回实际上写入的字节数。返回值:读取到多少字节,返回对应整数。返回值:成功返回0,失败返回-1。whence参数类型。
2023-08-14 19:58:51
88
原创 MakeFile基本知识
target:目标文件,可以是ObjectFile,也可以是执行文件,还可以是一个标签(Label),对于标签这种特性,在后续的“伪目标”章节中会有叙述prerequisties : 要生成那个target所需要的文件或是目标。command:是make需要执行的命令Makefile规则:make会在当前目录下找到一个名字叫做Makefile或者makefile的文件如果找到,他会找文件中第一个目标文件(target),并把这个文件作为最终的目标文件。如果target不存在,或者target
2023-08-11 19:18:35
82
1
原创 makefile编译带头文件的c程序
将src目录下的.c文件全部改成obj目录下的.o文件。获取src文件夹下面所有的.c文件。定义每个文件夹的路径。
2023-08-10 20:48:00
363
3
原创 GCC将C程序编译成可执行文件的理解
/ gcc -o 输出文件名 输入文件名 (其中输如文件名也可以放在-o前,但不能放在-o 与输出文件名中间)gcc -D介绍gcc - DABC 1 等价于 #define ABC 1。相当于在预编译c程序之前在c程序里面添加一个宏定义 // 配合 #ifdef #endif来使用。
2023-08-08 20:54:47
1693
1
原创 C语言课程设计:简易的航班信息查询系统
/ 航班信息结构体 typedef struct flight {//航班号 char departure [ 32 ];//出发地 char destination [ 32 ];//目的地 char take_off_time [ 16 ];//起飞时间 float price;//价格 struct flight * prev;//记录直接前驱的地址 struct flight * next;//记录直接后继的地址 } Flight_t , F_List;
2023-08-07 20:21:35
1341
1
原创 利用队列层次遍历二叉树
typedef struct Tnode //树节点 {int data;typedef struct QNode // 队列节点 {} QNode;typedef struct link_queue //链队 {// 我们采取用重新定义一个结构体,里面放入两个QNode类型的指针来。
2023-07-29 15:59:15
288
1
原创 数据结构 两个递增有序列表合并为一个递增有序列表的解决方法
数据结构两个递增有序列表合并为一个递增的有序链表(要求:不占用多余存储空间,新链中不允许有重复元素)求解思路假设两个需要和合并的链表为La和Lb,合并后的头指针用Lc来代替。设置pa,pb分别为La,Lb的工作指针,pc用来保证新链的完整性。 Lnode mergelist(LinkList &a,LinkList &b){ //将两个有序链表合并为一个链表 LinkList *Lc = new Lnode; Lnode *pa,*pb,*pc; pa = La->
2022-03-22 22:51:34
3547
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人