- 博客(36)
- 收藏
- 关注
原创 嵌入式linux v4l2应用 列出帧细节
注意:VIDIOC_ENUM_FMT对应的结构体为v4l2_fmtdesc,如下,只能枚举出所有的帧格式,但没有分辨率;VIDIOC_G_FMT对应的结构体为v4l2_format,只能获取当前的格式和分辨率,无法枚举所有支持的;所以使用VIDIOC_ENUM_FMT 枚举格式,以及VIDIOC_ENUM_FRAMESIZES 枚举出对应格式的支持分辨率;
2024-05-17 01:49:59
164
原创 嵌入式linux v4l2应用接口及硬件接口
对象分为 视频流本身 和 控制部分;视频流为 格式(像素格式、分辨率),控制部分有亮度、对比度、色度等;对其的接口有:查询或枚举(query/enum)、获得(get)、设置(set);要注意的点是,控制部分太多了,所用使用id来对应要控制什么,value进行设置;
2024-05-16 19:27:46
455
原创 嵌入式linux libjpeg库-库通用安装与交叉编译
5、编译jpg2rgb.c:arm-linux-gcc -o jpg2rgb jpg2rgb.c -I /work/projects/13.libjpeg/libjpeg-turbo-1.2.1/tmp/include -L /work/projects/13.libjpeg/libjpeg-turbo-1.2.1/tmp/lib -ljpeg。1、下载libjpeg库文件libjpeg-turbo-1.2.1.tar.gz。
2024-04-08 08:07:48
299
原创 嵌入式linux debug模块-留个思路
4、netprint:使用thread和socket进行开发:NetDbgInit里创建sever,创建发送线程和接收线程;在发送线程里pthread_cond_wait等待NetDbgPrint唤醒线程;再创建client.c进程接收数据就行了;3、之前的标准输出是print,然后用宏控制是否打印;现在把标准输出封装到结构体里;1、debug_print方式:打印在串口,使用socket通过网络传输打印。5、debug_level,有默认等级,通过输入改变等级;先留个思路,后面再补齐。
2024-04-06 16:55:25
176
原创 嵌入式linux input模块-thread
轮询:一直查找,CPU占用率高select:等待内核唤醒, CPU占用率低,适用于很多简单场合多线程:等待子线程唤醒主线程,CPU占用率低,非常灵活。
2024-04-05 16:24:22
226
原创 嵌入式linux input模块-stdin
1、input_manager.h里InputEvent结构体定义意义,内核input.h里已经有了intput_event定义输入事件的type\code\value,为什么这里又定义了InputEvent结构体:将intput_event的value取出进行判断是否为上翻和下翻。这里宏的作用:防止多次定义声明本文件,如果发现已经定义过_INPUT_MANAGER_H宏,则不会再次定义本文件。常规stdin输入,需要回车才能输入,怎么才能不回车直接接受输入呢,这里需要设置。
2024-04-04 21:04:22
288
原创 嵌入式linux电子阅读器 编码 功能模块
2、1的结果判断else可能是ascii或者gbk,则判断字符长度是否大于0x80(128)即可。原理是,utf-8文件的前三个字符编码固定是0XEF 0XBB 0X BF。1、如何判断ASCII编码(这里使用排除法)
2024-04-03 10:59:38
152
原创 嵌入式linux电子阅读器 显示功能模块
desc:此函数从freetype中show_lines得来,打开设备文件,获得fb固定和变换screen信息,给结构体赋值(iXres、iYres、iBpp)由FBShowPixel(lcd_put_pixel)改动得来,使用memset、while给整个屏幕进行字符清除。函数从freetype中show_lines得来,lcd_put_pixel。note:FB_DEVICE_NAME和DBG_PRINTF这两个宏的用法。
2024-04-03 07:03:33
160
原创 嵌入式linux freetype之lcd显示
需要注意的是bitmap->buffer[q * bitmap->width + p]已经是一个像素的值了,所以直接替代点阵里面的color;直接在点阵LCD显示代码后加入freetype相关代码,然后利用draw_bitmap把color显示出来;需要注意的是字符显示的。
2024-04-02 10:56:09
245
原创 linux编译常见问题之头文件\库
1、echo $PATH,找到user/ 或者交叉编译路径arm-buildroot-linux-gnueabihf_sdk-buildroot/;2、在这两个目录里,find -name 头文件,查找是否有你需要的头文件3、如果有,编译时 用 -I 指定 头文件位置:gcc -o a a.c -I /user/include。
2024-04-02 06:04:58
263
原创 嵌入式Linux电子书阅读器笔记之字符点阵显示(ASCII和中文)- mmap
调用lcd_put_pixel对照fontdata_8x16去打印ascii字符。调用lcd_put_pixel函数对照hzk16去打印中文字符。在fb0的内存指针fbmem上设置对应颜色。
2024-04-01 14:25:40
169
原创 嵌入式Linux电子书阅读器笔记之需求、框图、编码
1、显示图片2、能选择是自动显示还是手动显示3、可以进行左、右、放大、缩小4、快速滑动显示右边(左边)的第二张图片5、点击一下,出现对话框(选择2)
2024-04-01 09:53:08
293
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人