- 博客(80)
- 资源 (4)
- 收藏
- 关注
原创 【Linux SQLite数据库】一、SQLite交叉编译与移植
SQLite 是一个用 C 语言编写的开源、轻量级、快速、独立且高可靠性的 SQL 数据库引擎,它提供了功能齐全的数据库解决方案。SQLite 几乎可以在所有的手机和计算机上运行,它被嵌入到无数人每天都在使用的众多应用程序中。此外,SQLite 还具有稳定的文件格式、跨平台能力和向后兼容性等特点。
2024-08-09 11:23:49 644 1
原创 【Linux WEB】Linux嵌入式WEB服务器(BOA)部署
在/var/log/ 下建立boa文件夹,并创建acccess_log文件和error_log文件 或 修改boa.confg中的设置。(2)在开发板/etc目录下建boa目录,将boa.conf拷贝到板子的/etc/boa目录。(1)将编译生成的boa可执行程序(在/src目录下)拷贝到开发板的/bin目录下,并添加可执行权限。解决:拷贝boa-0.94.13/boa.conf文件到/etc/boa目录下。(3)创建错误记录日志文件所在目录/var/log/boa/error_log,
2024-08-07 17:25:36 691
原创 【Linux QT】添加Json-C库
在Linux应用开发中,Linux设备和服务器通信时,两者之间数据的传输通常采用JSON数据格式来作为载体,便于两者之间的数据交互。当设备端接收到服务端下发的JSON数据,设备端需要对JSON格式的数据进行解析;当设备端需要将设备的各项状态数据参数上传到服务器时,则需要各项状态数据参数打包成Json格式的数据包。故引入Json-c库来完成Json格式数据的解析和Json格式数据打包。下载Json-c源码选择Json-c版本解压到Ubuntu系统后,进入解压后的文件夹进行编译配置与安装。
2024-08-07 16:49:58 455
原创 【字节序】
不同计算机体系结构可能采用不同的字节序来存储多字节数据。字节序有两种主要形式:大端序(Big-endian):高位字节存储在低地址。小端序(Little-endian):低位字节存储在低地址。为了确保不同平台之间的数据一致性,需要明确数据的字节序,并在传输或存储时进行适当的转换。
2024-06-21 15:31:45 307
原创 【字符串解析】IP地址字段解析提取函数接口
在嵌入式业务逻辑中,我们有时需要从配置文件、串口或者服务端接收的消息数据中进行字符串解析,来提取需要的目标字符串字段。通常我们会调用字符串处理相关的函数,例如strstr,strchr,sscanf等,再结合指针偏移来提取目标字段。实现这种方式的前提是,我们需要提前知道字符串固定的格式内容,如果待解析的字符串内容或者格式偏差的情况,那么我们编写好的字符串解析处理程序就不太适用了。
2024-06-18 11:39:14 470
原创 【QT数据类型转换】
源数据类型目标数据类型转换方式QStringchar *str.toLocal8Bit().data()QStringint,float等数字型数据str.toInt(); str.toFloat()int等数字型数据QStringQString::number(number)stringQStringqstring = .str.c_str()
2024-06-12 17:29:42 117
原创 【QT ScrollArea】手势滑动ScrollArea窗口实现
在使用QT 开发嵌入式类产品的UI交互界面时,我们常用到ScrollArea滑动窗口类。而该滑动窗口类默认只能通过点击拖动滑动窗口的滑动条,来实现窗口的水平或者垂直方向的滑动。本文提供了通过重写鼠标点击相关事件的函数来实现手势滑动的功能接口,以供参考
2024-06-12 10:26:24 590 1
原创 【Ubuntu系统hgfs共享文件夹不显示问题解决】
为了实现本地物理机与虚拟机之间的文件传输,我们通常采用共享文件夹的方式。但是在Vmware虚拟机使用Ubuntu系统的过程中,由于某种特殊或意外原因,Ubuntu系统或发生/mnt/hgfs共享文件夹丢失不显示的问题。以下是本次问题发生后所采用的解决方法,以供参考。
2024-05-14 11:01:37 474 1
原创 树莓派系统镜像备份
本文介绍的是比较得体的方式,将从SD卡中读取到的镜像大小为实际占用的空间大小,而非SD卡容量大小。中的实际镜像空间只有2G,而使用该工具读取镜像之后的镜像大小则是。SD卡系统镜像备份有多种方式,最简单粗暴的是使用。,以至于无法再写入到16G和8G的内存卡中。工具,将SD卡的镜像直接读取,但是该种方式。就是读取的镜像空间太大。
2022-11-21 20:03:22 2786
原创 【Linux系统移植】系统烧写方式
方式一直接通过开发板OTG接口烧写,简单快速方式二先将系统烧写到SD卡,再将SD卡插入到Linux开发板,启动SD卡上的LInux系统,最后从SD卡烧录到EMMC。
2022-11-06 14:51:09 1407
原创 【经典总线协议】IIC
IIC是主从结构的,并且按位传输的串行半双工通信总线协议。IIC总线由SCL时钟信号线与SDA数据信号线组成,支持一主多从,即一个IIC主机可以挂接多个IIIC从机,主机通过从机地址和相应的从机进行通信。在实际开发中,我们通过不同IIC器件对应的Data sheet中的IIC时序图来编写驱动程序,实现主从之间的数据传输。
2022-09-03 11:10:26 1849
原创 【进程间通信】(二)消息队列
1、概念“消息队列”是在消息的传输过程中保存消息的容器,是消息的链接表,存放于内核中,一个消息队列由一个标识符(队列ID)进行表示。2、特点(1)消息队列独立于发送和接收进程, 进程终止时,消息队列极其内容不会被删除。(2)消息队列时面向记录的,其中的消息具有特定的格式和优先级。(3)消息队列可以实现消息的随机查询,不一定要按消息先进先出的原则获取,可按照消息的类型进行获取。3、核心API#include <sys/types.h>#include <sys/stat.h&
2022-04-24 23:30:45 269
原创 不定长数组动态初始化
int array[]; //定义不定长一维数组int array_num; //记录动态赋值的次数,以此作为数组长度void init_array(int *array, int *array_num){ int i = 0; printf("Please input:"); do { scanf("%d", &array[i++]); (*array_num)++
2022-04-24 17:45:51 407
原创 【进程间通信】(一)管道
引言 进程间通信就是在不同进程之间传播或交换信息,那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。另外,系统空间是“公共场所”,各进程均可以访问,所以内核也可以提供这样的条件 进程间通信(IPC,Interprocess communication)是一组编程接口,让程序员能够协调不同的进程,使之能在一个操作系统里同时运行,并相互传递、交换信息。这使得一个程序能够在同一时间里处理许多用户的要求。因为即使只有一个用户发出要
2022-04-05 20:23:13 710
原创 【进程】(四)exec族函数
1、函数原型#include <unistd.h>int execl(const char *path, const char *arg, ...);int execlp(const char *file, const char *arg, ...);int execle(const char *path, const char *arg,..., char * const envp[]);int execv(const char *path, char *const argv[]);
2022-03-20 17:40:01 404
原创 【进程】(三)父进程等待子进程退出
1、父进程等待子进程的目的 进程创建子进程的目的就是能够让子进程去响应某个事件,并且做出相应的处理。如果父进程关心子进程对于事件的处理情况,那么父进程则可收集子进程的退出状态来判断。2、父进程等待子进程的方式 当调用vfork函数来创建子进程时,父进程将会等待子进程执行完毕退出后,才会执行。然而调用fork函数来创建子进程后,父进程和子进程谁先执行是
2022-03-18 00:05:43 2710
原创 【进程】(二)进程退出
1、进程正常退出与异常退出的方式1.1 进程的5种正常退出方式正常退出方式备注Main函数调用return返回属于隐式退出方式,例如return 0; 等价于exit(0);进程调用exit或者_exit函数,位于标准C库(stdlib.h),exit清洗缓冲,_exit不清洗缓冲进程调用_Exit函数,位于unistd.h进程的最后一个线程调用pthread_exit进程的最后一个线程返回1.2进程的3种异常退出方式异常退出方式
2022-03-17 23:12:10 747
原创 【进程】(一)进程创建fork()与vfork()
一、例程说明1、调用fork创建进程,以及创建进程的过程,fork的返回值变化2、验证父进程和子进程所占用的存储空间是否共享二、例程代码#include <stdio.h>#include <unistd.h>#include <sys/types.h>#include <errno.h>int g =0;int main(int argc, char*argv[]){ pid_t ret_pid; //定义pid返回值
2022-03-17 10:35:34 827
原创 树莓派命令行启动WIFI
1、sudo unblock wifi2、sudo ifconfig wlan0 up3、sudo iwlist wlan0 scan
2022-03-05 10:55:01 688
原创 树莓派命令行启动WiFi
1、sudo unblock wifi2、sudo ifconfig wlan0 up3、sudo iwlist wlan0 scan
2022-01-16 13:12:05 1232
QT Creator vscode黑色风格主题配置文件
2024-06-04
esp8266一键安装arduino板_2.5.0版.zip
2021-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人