linux
文章平均质量分 58
陈学弟
gcc hello_word.c
展开
-
全志之sqlite
轻量化,易用的嵌入式数据库,用于设备端的数据管理,可以理解成单点的数据库。传统服务器型数据库用于管理多端设备,更加复杂SQLite是一个无服务器的数据库,是自包含的。这也称为嵌入式数据库,这意味着数据库引擎作为应用程序的一部分运行。MySQL需要运行服务器,MySQL将需要客户端和服务器架构通过网络进行交互。基于嵌入式的数据库主要有:SQLite,Firebird,,eXtremeDBFirebird是关系型数据库,功能强大,支持存储过程,SQL兼容等SQLite。原创 2022-11-16 23:03:01 · 239 阅读 · 0 评论 -
全志H616语言控制刷抖音小项目(守护进程、udev机制)
语言控制刷抖音小项目(守护进程)原创 2022-10-27 20:23:44 · 1251 阅读 · 0 评论 -
Linix ARM实现串口通信
串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口()是指数据一位一位地顺序传送。其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢是设备间接线通信的一种方式数据一位一位地顺序传送双向通信,全双工传送速度相对较慢串行接口按电气标准及协议来分包括RS-232-C、RS-422、RS485等。原创 2022-10-26 21:29:13 · 1319 阅读 · 0 评论 -
全志H616使用VNC
登录成功后的界面显示如下图所示,然后就可以远程操作开发板。然后新建一个 xstartup。最后重启 vncserver。配置文件,并在其中输入下面的内容。命令时设置的密码,再点击。系统中执行下面命令安装。服务器,此时就可以通过。即可远程登录到开发板的。)并创建初始的配置文件。系统桌面的步骤如下所示。客户端,下载链接如下。原创 2022-10-26 15:07:22 · 704 阅读 · 0 评论 -
linux脚本函数(system,popen,exec族函数)
popen() 函数用于创建一个管道:其内部实现为调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程这个进程必须由 pclose() 函数关闭。参考:[system](https://www.cnblogs.com/leijiangtao/p/4051387.html)1.一个父进程希望复制自己,使父、子进程同时执行不同的代码段。当这种请求到达时,父进程调用fork,使子进程处理此请求。在这种情况下,子进程从fork返回后立即调用exec族函数。可参考exec族函数。原创 2022-10-23 20:39:01 · 688 阅读 · 0 评论 -
全志之时间函数、定时器(蜂鸣器、超声波、SG90舵机)
如下图所示,最便宜的舵机sg90,常用三根或者四根接线,黄色为PWM信号控制用处:垃圾桶项目开盖用、智能小车的全比例转向、摄像头云台、机械臂等常见的有0-90°、0-180°、0-360°怎么控制转角向黄色信号线“灌入”PWM信号。PWM波的频率不能太高,50hz,即周期=1/频率=1/50=0.02s,20ms左右数据:不同的PWM波形对应不同的旋转角度,以20ms为周期,50hz为频率的PWM波。原创 2022-09-24 00:57:36 · 727 阅读 · 0 评论 -
HTTP协议
http协议是建立在TCP/IP协议之上应用层协议,默认端口为80,8080http协议的的特点是无状态,无连接利用抓包工具httpwatch可以获取报文http协议的报文传输的是ASCII码,在TCP/IP协议之上,主要主要分为三部分请求行、请求头、请求体第一行,包含三个信息:请求方式,url,http协议版本GET 请求POST 请求区别:1、url可见性:get,参数url可见;post,url参数不可见 2、数据传输上:get,通过拼接url进行传递参数;post,通过body体传输参数原创 2022-06-30 03:17:17 · 4709 阅读 · 0 评论 -
socket,tcp,http三者之间的区别和原理
下面的图表试图显示不同的TCP/IP和其他的协议在最初OSI模型中的位置:7 应用层 例如HTTP、SMTP、SNMP、FTP、Telnet、SIP、SSH、NFS、RTSP、XMPP、Whois、ENRP6 表示层 例如XDR、ASN.1、SMB、AFP、NCP5 会话层 例如ASAP、TLS、SSH、ISO 8327 / CCITT X.225、RPC、NetBIOS、ASP、Winsock、BSD sockets4 传输层 例如TCP、UDP、R原创 2022-06-29 22:15:29 · 185 阅读 · 0 评论 -
FTP项目(自写)
config.h原创 2022-06-19 19:57:39 · 118 阅读 · 0 评论 -
树莓派(linux文件系统)
常规认知: 根目录 文件系统是操作系统用于明确存储设备组织文件的方法。 以上说的方法:就是文件管理系统(程序),简称文件系统 在Linux系统中,目录被组织成一个:单根倒置树结构,文件系统从根目录开始,用/来表示。文件名称区分大小写( 大小写敏感还需要看具体的文件系统格式 ),以.开头的为隐藏文件,路径用/来进行分割(windows中使用\来分割),文件有两个种类:元数据与数据本身.在操作linux系统时,通常会遵循以下的分层结构规则:LSB (Linux Standa原创 2022-06-14 06:16:18 · 405 阅读 · 0 评论 -
树莓派Linux源码配置
驱动代码的编译需要一个提前编译好的内核 编译内核就必须配置 配置的最终目标会生成 .config文件,该文件指导Makefile去把有用东西组织成内核 厂家配linux内核源码,比如说买了树莓派,树莓派linux内核源码 第一种方式: cp 厂家.config .config 第二种方式: make m原创 2022-06-14 06:08:46 · 180 阅读 · 0 评论 -
Linux内核源代码目录树结构
arch:包含和硬件体系结构相关的代码,每种平台占一个相应的目录。和32位PC相关的代码存放在i386目录下,其中比较重要的包括kernel(内核核心部分)、mm(内存管理)、math-emu(浮点单元仿真)、lib(硬件相关工具函数)、boot(引导程序)、pci(PCI总线)和power(CPU相关状态)。 block:部分块设备驱动程序。 crypto:常用加密和散列算法(如AES、SHA等),还有一些压缩和CRC校验算法。 Documentation:关于内核各部分的通用解释和注释。原创 2022-06-14 05:38:25 · 181 阅读 · 0 评论 -
进程间通信(IPC)
什么是进程间通信首先了解几个名词:进程隔离进程隔离是为保护操作系统中进程互不干扰而设计的一组不同硬件和软件的技术。这个技术是为了避免进程A写入进程B的情况发生。 进程的隔离实现,使用了虚拟地址空间。进程A的虚拟地址和进程B的虚拟地址不同,这样就防止进程A将数据信息写入进程B。为什么需要进程间通信1).数据传输一个进程需要将它的数据发送给另一个进程。2).资源共享多个进程之间共享同样的资源。3).通知事件一个进程需要向另一个或一组进程发送消息,通知它们发生了某种事件。4).进程原创 2022-05-22 01:33:36 · 5216 阅读 · 0 评论 -
popen函数
popen函数比system多了应用中可以获取运行的输出结果参考popen#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp; char data[1024]={0}; fp=popen("ls","r"); int n_read=fread(data,sizeof(char),1024,fp); printf("%d, %s",n_read,data);原创 2022-05-21 02:39:33 · 129 阅读 · 0 评论 -
system函数
system函数和exec族函数功能一样,但是操作比较简单粗暴参考:system#include <stdio.h>#include <sys/types.h> #include <unistd.h>#include <stdlib.h>int main(){ int data; pid_t repid; while(1){ printf("please input num:\n"); scanf("%d",&原创 2022-05-21 02:13:30 · 164 阅读 · 0 评论 -
exec族函数
为什么要用exec族函数1.一个父进程希望复制自己,使父、子进程同时执行不同的代码段。这在网络服务进程中式常见——父进程等待客户端的服务请求。当这种请求到达时,父进程调用fork,使子进程处理此请求。父进程则继续等待下一个服务请求到达。2.一个进程要执行一个不同的程序。在这种情况下,子进程从fork返回后立即调用exec族函数。可参考https://blog.csdn.net/u014530704/article/details/73848573exec族函数用于对执行文件的操作,更大的减轻了代码原创 2022-05-21 01:23:33 · 107 阅读 · 0 评论 -
C语言文件和linux文件的区别(open和fopen)
来源从来源的角度看,两者能很好的区分开,这也是两者最显而易见的区别:open是UNIX系统调用函数(包括LINUX等),返回的是文件描述符(File Descriptor),它是文件在文件描述符表里的索引。fopen是ANSIC标准中的C语言库函数,在不同的系统中应该调用不同的内核api。返回的是一个指向文件结构的指针。PS:从来源来看,两者是有千丝万缕的联系的,毕竟C语言的库函数还是需要调用系统API实现的。移植性这一点从上面的来源就可以推断出来,fopen是C标准函数,因此拥有良好的.原创 2022-05-18 17:26:55 · 507 阅读 · 0 评论 -
进程的操作
1.创建父子进程 fork函数的用法#include <sys/types.h>#include <unistd.h>#include <stdio.h>int main(){ pid_t pid; printf("pid=%d\n",getpid()); pid=fork(); if(pid>0){ printf("this is father p原创 2021-11-13 18:34:57 · 443 阅读 · 0 评论 -
C语言版文件操作
1.创建写入读取文件#include <stdio.h>#include <string.h>int main(){ FILE *fp; char *a="chenhailong!"; char b[128]={0}; fp=fopen("ht.txt","w+"); fwrite(a,sizeof(char)*strlen(a),1,fp); fseek(fp,0,原创 2021-11-12 23:30:55 · 211 阅读 · 0 评论 -
文件描述符和文件操作的原理
文件描选符1、对于内核而言,所有打开文件都由文件描述符引用。文件描述符是一个非负整数。当打开一个现存文件或者创建一个新文件时,内核向进程返回一个文件描述符。当读写一个文件时,用open和creat返回的文件描述符标识该文件,将其作为参数传递给read和write。按照惯例,UNIX shell使用文件描述符0与进程的标准输入相结合,文件描述符1与标准输出相结合,文件描述符2与标准错误输出相结合。 STDIN_FILENO、STDOUT_FILENO、STDERR_FILENO这几个宏代替了0、1、2这几原创 2021-11-08 12:08:54 · 483 阅读 · 0 评论 -
Linux下文件操作
1.打开和创建一个文件#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <stdio.h>int main(){ int fd; fd=open("./file1",O_RDWR); if(fd==-1){ printf("open file1 shibai!\n");原创 2021-11-07 03:18:24 · 345 阅读 · 0 评论 -
TCP和UDP的区别
1.TCP面向连接(如打电话要先拨号建立连接);UDP是无连接的,即发送数据之前 不需要建立连接2.TCP提供可靠的服务。也就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;UDP尽最大努力交付,即不保证可靠交付3.TCP面向字节流,实际上是TCP把数据看成一连串无结构的字节流;UDP是面向报文的UDP没有拥塞控制,因此网络出现拥塞不会使源主机的发送速率降低(对实时应用很有用,如IP电话,实时视频会议等)4.每一条TCP连接智能是点到点的;UDP支持一对一,一对多,多对一,多对一原创 2021-10-15 00:53:23 · 355 阅读 · 0 评论 -
linux下常用的解决方法(1)
sudo: make: command not found解决:sudo apt install make改账户密码: sudo passwd chl(账号密码)检测有没有装ssh:dpkg -l |grep openssh安装gcc:sudo apt-get install gcc原创 2021-10-15 00:46:56 · 55 阅读 · 0 评论 -
Linux下修改字体指令和分辨率
安装gnome-tweaks桌面配置工具;sudo apt install gnome-tweaks1Alt+F2 在运行窗口输入 gnome-tweaks 命令,回车;打开的优化窗口中,字体一栏,调整缩放比例(如1.5则会放大)。进入Fonts选择Monospace会变大字体...原创 2021-10-15 00:44:47 · 584 阅读 · 0 评论 -
Ubuntu下修改字体
Ubuntu下修改字体安装gnome-tweaks桌面配置工具;sudo apt install gnome-tweaks1Alt+F2 在运行窗口输入 gnome-tweaks 命令,回车;打开的优化窗口中,字体一栏,调整缩放比例(如1.5则会放大)。进入Fonts选择Monospace会变大字体...原创 2021-03-12 19:52:18 · 897 阅读 · 0 评论