自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(55)
  • 收藏
  • 关注

原创 Linux嵌入式学习——数据结构——概念和Seqlist

零个或多个数据元素的有限序列元素之间是有顺序了。如果存在多个元素,第一个元素无前驱,最有一个没有后继,其他的元素只有一个前驱和一个后继。当线性表元素的个数n(n>=0)定义为线性表的长度,当n=0时,为空表。在非空的表中每个元素都有一个确定的位置,如果a1是第一个元素,那么an就是第n个元素。线性表的常规操作ADTchar sex;int age;int score;DATATYPE;Datatype;int tlen;

2024-07-23 09:13:47 254

原创 Linux——jHTML(简单网页制做)

w3school。

2024-07-16 17:54:41 716

原创 数据库练习(1)

1、将字典文件导入数据库并实现查找文件的功能。

2024-07-16 10:34:34 330

原创 Linux操作系统——数据库

数据库sun1、分类: 大型 中型 小型关系型数据库2、名词:DB 数据库 select update databaseDBMS 数据库管理系统MIS 管理信息系统OA 办公自动化3、嵌入式数据库:GNU特点:1、开源 C语言开发2、代码量少 1万行左右,总大小10M以内3、绿色软件无需安装4、文件型数据库,可以移动。

2024-07-15 23:36:48 967

原创 Linux——多路IO

④ select返回-1表示错误,返回0表示超时时间到没有监听到的事件发生,返回正数表示监听到的所有事件数(包括可读,可写,异常),通常在处理事件时 会利用这个返回值来提高效率,避免不必要的事件触发检查。① readfds等是指针结果参数,会被函数修改,所以一般会另外定义一个allread_fdset,保持全部要监听读的句柄,将它的拷贝传递给select函数,返回可读的句柄集合,类型fdset支持赋值运算符=;这样,进程就可以在需要时处理IO事件,而无需轮询或阻塞等待。

2024-07-13 09:18:48 590

原创 【无标题】

1、IP头格式(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。关于IPv6,目前还处于草案阶段。(2)首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。

2024-07-12 16:07:48 793

原创 Linux_网络编程_TCP

client / server brow / serb / s http p2p 1、模式 C/S 模式 ==》服务器/客户端模型server :socket()-->bind()--->listen()-->accept()-->recv()-->close()client :socket()-->connect()-->send()-->close();int on = 1;setsockopt(listfd, SOL_SOCKET,SO_REUSEADDR

2024-07-09 19:25:43 1075

原创 Linux——网络编程——UDP

dest_addr: 必选,表示要发送到的目标主机信息结构体。buff 要存储数据的内存区,一般是数组或者动态内存。len 要获取的数据长度,一般是buff的大小。1、根据以上知识点编写UDP测试程序,验证UDP协议的无链接性质。buff 本地的数据存储,一般是要发送的数据。src_addr 可选,表示对方的地址信息结构体,3、将以上知识点融合,考虑如何实现一个基于UDP的聊天室程序。1、要有注册过程,每个客户端必须在服务器端有注册信息。bind() 客户端是可选的,服务器端是比选的。

2024-07-09 11:51:12 1005

原创 linux——网络编程(1)ositcp

网络编程1、OSI 模型 ===》开放系统互联模型 ==》分为7层:理想模型 ==》尚未实现tftpa /etc/123应用层表示层 加密解密 gzip会话层 网络断开,连接状态,keep-close keep-alive传输层tcp udp 协议 文件 视频,音频网路层ip NAT链路层 交换机 数据的格式化 帧 校验物理层 100Mb/8 Gbits 100MB 同轴电缆 10Gb 2.4G 5G。

2024-07-08 09:54:40 925

原创 linux——小细节(Makefile)(gdb)

一、makefile。

2024-07-05 14:02:08 346

原创 进程间通信————信号通信,共享内存,IPC对象之信号量集

void fun(int sig) ////sig 接收到的信息编号10 SIGUSR112 SIGUSR2专门预留给程序员使用的未定义信号。printf("老爸叫你\n");i++;printf("老妈叫你\n");i++;return 0;

2024-07-03 19:35:33 898

原创 linux——IPC 进程间通信

在多进程操作系统中,不同的进程可能需要交换数据以完成共同的任务。:由于进程空间的独立性,一个进程无法直接读取或修改另一个进程的内存空间中的数据。这个返回值0是一个特殊的信号,它告诉读端进程,管道的写端已经被关闭,并且管道中没有更多的数据可以读取了。==>fd 是固定写端。函数从管道中读取数据,并且管道已经为空(即没有任何待读取的数据),同时写端已经被关闭,那么。1,读端存在,一直向管道中去写,超过64k,写会阻塞。2,写端是存在的,读管道,如果管道为空的话,读会阻塞(读的快,写的慢)

2024-07-03 10:46:44 845

原创 IPC_l练习

1.fifo a,b 实时聊天。发送#quit,a,b都退出。如果没找到,显示单词输入错误。如果输入#quit,退出。2.pipe,父进程把dict.txt写入管道。子进程从终端接收需要查找的单词。

2024-07-03 10:39:13 108

原创 Linux——互斥与同步练习

启动三个线程,th1输出a,th2输出b,th3输出c。不能重复买票,将100张车票均匀的从两个。用多线程程序设计一个火车票售票系统,要求至少有两个售票窗口,每个售票窗口。窗口1 卖出车票 1。窗口2 卖出车票 2。窗口1 卖出车票 3。窗口2 卖出车票 4。

2024-07-02 09:45:15 255

原创 Linux 高级编程——线程控制

信号量的类型 信号量的变量。

2024-07-01 18:44:01 1014

原创 Linux——线程练习

主线程,接收一个表达式,填充结构体,传递给th1线程,th1线程结算结果,并返回给主线程。1.创建一个多线程程序,至少有10个子线程,每个线程有会打印不同的数据,同时表明身份。

2024-07-01 11:50:03 271

原创 Linux高级编程——线程

===》 子线程的结束不会影响主线程的运行。====》主线程结束任意生成的子线程都会结束。功能:请求结束一个线程 (在主线程种调用 写入某个线程id号,可以关闭该线程)参数:thread 请求结束一个线程tid(想要关闭的线程id号)返回值:pthread_exit(0) ===>pthread_exit(9);1、线程的回收机制 ====》不同与进程没有孤儿线程和僵尸线程。要回收的子线程返回值/状态。==》ptread_exit(值);

2024-06-28 18:00:07 1070

原创 Linux高级编程——进程练习

1. 不产生僵尸进程。上个任务未结束,不响应新的请求。2. minishell 用exec。

2024-06-28 10:34:35 245

原创 Linux高级编程——进程

1.进程的含义?进程是一个程序执行的过程,会去分配内存资源,cpu的调度PID, 进程标识符当前工作路径 chdirumask 0002进程打开的文件列表 文件IO中有提到 (类似于标准输入 标准输出的编号,系统给0,1,2 标准输入 标准输出 标准错误)信号相关设置 处理异步io,用户id,组id进程资源的上限的命令:ulimit -a,显示资源上限。2.进程和程

2024-06-27 19:33:45 880

原创 Linux——进程练习

/a.out ===> 1.txt ==>父进程写入的信息 时间+编号(father pid)/a.out时间+编号(child pid)父进程1123 186 16:02:10子进程1124 188 16:02:15。2、设计一个程序,动态生成两个进程,分别向相同的文件中写入不同的数据,要表明是两个进程同时写入的数据。输入n, 动态生成n个子进程,并打印输出各自进程的pid号。

2024-06-27 19:24:21 443

原创 嵌入式学习——Linux系统——文件编程(3)

1] [ ] ------------------> [硬盘 ]--hello.c。/* total size, in bytes */(*文件的大小)// long unsigned int。/* time of last status change */(*最后的状态改变的时间)if ((st_mode & S_IFMT) == S_IFSOCK ) //注意 优先级 & 低于 ==fd --->[0] ---> 文件的状态 / 偏移量。

2024-06-25 14:20:22 732

原创 嵌入式学习——Linux——目录练习

复制整个文件夹(包括其内容和子文件夹)通常不是一个简单的文件I/O操作,因为它需要递归地遍历源文件夹中的所有文件和子文件夹,统计该目录下的普通文件的个数。实现目录与目录的copy。

2024-06-25 10:47:25 204

原创 linux——文件编程文件IO

c.设备文件 ---- 文件IO ///dev/video0 ----> fopen();文件描述符 [1.txt] //硬盘。1.打开 --- fopen ---> hello.c FILE *fp。FILE *fp [1.txt]1. 使用文件io方式完成任意两个文件的比较功能,测试两个文件是否相等。

2024-06-24 19:36:07 980

原创 嵌入式学习——Linux操作系统——文件编程练习

1.使用fread和fwrite方式完成任意普通文件的拷贝功能。则最终效果是将 hell插入到了100个字节的后面。指定要插入的位置 (如100个字节之后,)c.将刚才读走的数据写到插入数据的后面。3.统计文本文件中a-z,出现的次数。指定要插入的内容 (如hello)4. 完成两个文件的合并操作。b.重新定位到要插入的位置。a.定位到要插入的位置。

2024-06-24 10:53:48 213

原创 嵌入式学习——Linux操作系统——文件编程—(1)

一、文件类型:文件操作:文本文件,mp3,jpeg,png ,mp4,avi文件:一组相关数据的有序集合文件名:这组相关数据的一个名称eg:hello.c --文件名linux里面对文件的处理:思想:一切皆文件ls -l文本文件目录摄像头话筒鼠标b -- block -- 块设备文件 --- 硬盘 ---- ls -l /dev/sda。

2024-06-21 17:30:40 945

原创 嵌入式技术学习——Linux环境编程(高级编程)——shell编程

Brain Fox作为FSF的员工,首次开始工作是在1988年的1月10号,一年之后,发布了.99的测试版本。-c 字符设备文件 char --- 鼠标,键盘。-b 块设备文件 block test -b /dev/usb0 --- 硬盘。进程 ---- 进行中程序(process id--进程的身份证号)$$:当前shell的PID --- $$ 21694 //进程的概念提示。

2024-06-19 19:12:27 1116

原创 嵌入式技术学习——c51单片机——蜂鸣器

如图所示的三极管是NPN三极管,当p11是1时,三极管导通,蜂鸣器会响 ,在我们的开发板上,就是把那个帽子戴上。无源蜂鸣器:内部不带震荡源,需要控制器提供震荡脉冲才可以发声,调整提供震荡脉冲的频率,可发出不同频率的声音。蜂鸣器时一种将电信号转化成声音信号的器件,常用来产生设备的按键音,报警音等提示信号。(2)利用定时器的计数功能,改变中断时间,来改变频率变化,使蜂鸣器声音变化。单位时间内周期变化的越小,频率越大,声音越尖锐。蜂鸣器分为有源蜂鸣器,无源蜂鸣器。c51中的蜂鸣器是无源蜂鸣器。

2024-06-18 22:05:14 625

原创 嵌入式技术学习——c51——串口

在总线上接受数据和发送数据,靠定时器计数,T1的溢出率经过二分频或16分频控制收放的速率,通过SBUF写入发送数据。将数据放在SBUF,单片机自动读写数据,发送之后会申请TI这个发送中断,接收数据会生成RI接受中断。串口是一个 通讯接口。成本低,容易使用,通信线路简单,可实现两个设备的相互通信。单片机的串口可以实现单片机于单片机,单片机与电脑,单片机与其他模块相互通信。RS485电平:两线压差+2~+6V表示1,-2~-6V表示0(差分信号)RS232电平:-3~-15V表示1,+3~+15V表示0。

2024-06-17 22:18:29 767

原创 嵌入式技术学习——c51单片机——定时器

1,定时器再单片机内部就像一个小闹钟一样,根据时钟的输出信号,每隔一秒,就单元的数值就增加当技术单元的数值增加到“设定的提醒时间”,计数单元会向中断系统发出中断请求。TH0高8位 和 TL0低8位:共存2的16次方-1的数据=65535。定时器的个数:T0,T1,T2.(要注意不同的单片机用的定时器不同)定时器是51单片机内部的资源,其电路连接和运转均在单片机内部完成。系统将12Mhz进行12分频,成1Mhz,成1微秒,给0就是定时器的功能,给1就是计时器的功能。模式1:13位定时器/计数器;

2024-06-17 09:12:52 288

原创 c语言——c51单片机——数码管

1、在某一位显示一个数字。2、实现显示数据的函数。

2024-06-17 09:12:51 156

原创 嵌入式学习(二)——c51单片机(1)

单片机没有操作系统可以不用return 0;可以把函数代码写成.h的文件达到多个文件合作。将变成好的文件存成 .hex。同时安装CH340驱动。

2024-06-12 09:43:11 185

原创 C语言——第五章习题

以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请在【】内填入正确内容。(表达式),可能这种形式很怪异,但是还是希望大家能够理解并记住这一点,这可以避免你以后在这上面浪费太多的脑力。考察点:C语言里的’A’<=ch<=’Z’要表示成ch>=’A’&&ch<=’Z’的形式,切忌C语言里没有。负数的求余:只看被余数的符号,被余数符号为正,求余表达式为正,被余数为负,求余表达式为负。、输入一个四位数,要求将它的千位、百位、十位、个位上的数字按由小到大排列,输出一个新数。

2024-06-06 14:33:55 740

原创 c语言第三章练习

2、编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,b中原来的值给c, c中原来的值给a,且输出改变后的a,b,c的值。3、输入两个整型变量a,b的值,输出a+b,a-b,a*b,a/b,(float)a/b,a%b的结果,要求连同算式一起输出,每个算式占一行。10、a=1,b=2,c=3,d=4,则表达式a<b?16、设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_____

2024-06-06 00:06:54 555

原创 C语言---枚举&位运算

运算规则:一假则假 --------置位(0)运算。写程序----控制寄存器中的某些二进制位--->关联某些硬件引脚-》电平的变化。运算规则:一真则真 ----------置位(1)运算。要移动的数据,本身是有符号额类型,如果右移,最高位补符号位。typedef int a:给int型起一个别名叫a。要移动的数据,本身是无符号的,如果右移最高位补0。a<<2 //左移一位相当于 乘以2。写程序《--------》控制硬件。

2024-06-05 18:14:42 315

原创 C语言——共用体

数据的最低有效字节存储在最低的内存地址上,该电脑是小端。1.共用体初始化时,只能给一个值,这个值默认时给到第一个成员的。赋值的时候,每个成员只能影响,自己对应的字节。2.共用体空间中数据,取决最后一次给到值。可以做函数参数 和 返回值。计算机早期的时候能否尽量节省空间?union 共用体名。

2024-06-05 09:09:35 365

原创 C语言——链表

不足,插入数据 删除数据不方便。// 保存地址——指向下一个结点;——空链表 —— 只有头节点,但是没有有效的数据节点;//数据域——存储要处理的数据。数组的特点+连续性、有序性、单一性。(1)每次尾节点后面插入——尾插法。(2)每次头节点后面插入——头插法。数据结构——数据的组织形式 ——优点:随机访问(存取方便)操作:数据结构体 数据的处理。数据结构体——操作时的特点,优点:增加和删除数据 方便。链式数据结构——链表;

2024-06-04 16:21:52 274

原创 C语言——结构体

/初始化 ,需要按照 成员列表的顺序,依次初始化。//成员与成员之间的初始化的值,用逗号隔开。//s变量中,存储的是某一个学生的信息。小明 |1110 | 2班 |100 | 类型 定义出来 一个变量 此时有具体数据。//来描述结构体类型中 具体的一些数据。//表明这个结构体类型的 名称。//如果没有超过4字节的,则按成员变量中最大对齐。//如果没有超过4字节的,则按成员变量中最大对齐。1.在32位的平台上,默认都是按4字节对齐的。1.同一类型的结构体变量间,也是可以互相赋值的。

2024-06-04 09:20:30 440

原创 C语言——指针(4)

int (*compar)(const void *, const void *)//表示 排序 比较的依据。假如给一段数据排序,不只要这段数据,还需要这段数据每一个元素的其他运算的排序,为了避实现函数的灵活性,可以用到函数回调。int (int a,int b) //这表示一类函数 --- 返回值为int型,形参为两个int型的函数。size_t size, //表示要排序的数组的单个元素的大小。//基类型 int[4]这种类型 ---数组类型。//标准C语法: int (*)[4]

2024-05-30 21:52:51 514

原创 C语言——指针字符串练习

将字符串”Computer Science”赋给一个字符数组,然后从第一个字母开始间隔的输出该字符串,用指针完成。//1.整个字符串整体逆序。//2.每个单词再逆序。1. 编写程序实现单词的倒置。

2024-05-30 10:08:10 222

原创 C语言——指针(3)

/ *s1 和 s1 本身都不能被修改。//s1的空间开在栈上,但是s1指向的"字符串常量"//如果,不希望修改 *s1 的数据。//2.从dest的 '\0'位置开始,拷贝字符串 //受到n的控制。2.const 修饰的变量,为只读变量 //变量还是变量 只是成了只读的。实现: //返回值 表示的是dest 存放字符串的空间的首地址。//2.从dest的 '\0'位置开始,拷贝字符串。//3.最终dest中 需要有 '\0'结束标志。//3.最终dest中 需要有 '\0'结束标志。

2024-05-30 09:27:59 661

Linux操作系统-数据库

Linux操作系统-数据库

2024-07-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除