- 博客(47)
- 收藏
- 关注
原创 什么是并行通信、串行通信?什么是全双工、半双工、单工? 什么是异步通信、同步通信? 什么是RS232、RS485?什么是pwm?
主机间通信时如果一方固定为发送端另外一方固定为接收端,通过一根总线实现数据通信。这种通信方式就像是你只能听别人说话,但无法回答他们一样,只能单向传递信息。半双工通信(Half-Duplex Communication)是一种通信方式,其中数据传输可以在两个方向之间交替进行,但不能同时进行。换句话说,通信双方可以既发送数据又接收数据,但不能同时进行这两种操作。比方说,就像你可以和别人交替说话和倾听对方说话一样。当你在说话时,对方在听你说;当对方在说话时,你在倾听对方。
2024-04-16 17:45:43
1253
原创 前几日总结 , 树型结构--》二叉树,二叉树的创建与销毁,二叉树的遍历
由n个结点组成的有限集有一个根结点;其他结点只有一个前驱结点,但可以有多个后继结点(一对多)n = 0时为空树。
2024-03-28 14:48:23
351
原创 对数据库的操作 <打开->操作->关闭>
功能:打开数据库文件(创建一个数据库连接)参数:filename:数据库文件路径ppDb:操作数据库指针存放空间的首地址返回值:成功返回SQLITE_OK失败返回错误码。
2024-03-18 09:38:17
464
原创 数据库板块
sqlite> insert into student (id, name, score) values (1002, "李四", 100);sqlite> insert into student values (1002, "王二", "女", 18, NULL);sqlite> insert into student values (1001, "张三", "男", 19, 80);1.创建一张订单表,由 ID, 订单号, 货物信息, 生产厂商, 联系人, 联系电话, 订单时间。
2024-03-13 09:05:15
887
原创 网络 协议 UDP编程
应用层 实际发送的数据表示层 发送的数据是否加密会话层 是否建立会话连接传输层 数据传输的方式(数据报、流式)网络层 数据的路由(如何从一个局域网到达另一个局域网) IP地址数据链路层 局域网下如何通信物理层 物理介质的连接。
2024-03-06 09:05:13
897
原创 进程间通信 --->信号灯
* semaphore operation */ 具体对信号量的操作(申请:-1 释放:+1)unsigned short sem_num;/* semaphore number */ 操作信号量的下标。SETVAL 设置信号量的值。IPC_RMID 删除信号灯。semnum:具体操作信号量的编号。sops:信号量操作的数组首地址。semid:信号灯的ID号。nsems:信号量的个数。semid:信号灯ID号。
2024-03-06 09:02:16
244
原创 3.5 日 关于进程间通信 消息队列 和 共享内存
根据pathname和proj_id生成一个key_t类型的key值,将来可以用来创建消息队列、共享内存、信号灯。练习:编写2个进程任务,write.c负责从终端接收字符串写入共享内存中,read.c负责将共享内存中的数据打印在终端。练习:编写2个进程任务(recv.c send.c),send.c从终端接收一个字符串利用消息队列发送给recv.c。创建共享内存 -> 映射到共享内存中 -> 共享内存操作 -> 解除映射 -> 删除共享内存。成功返回key_t类型的IPC对象的key值。
2024-03-05 09:02:17
686
原创 指针内容回顾 数组传参等等
操作多个字符串时,通过将每个指针指向一个字符串开头,完成对所有字符串的操作,使用指针数组。1.对一维数组数组名&得到数组指针,值不变,类型升级为指向整个数组的指针。定义一个指针变量p,p是指向一个int返回值且有2个int参数的函数的指针。2.对数组指针*,值不变,类型降级为指向数组第一个元素的指针。定义一个数组a,有5个元素,每个元素为int *型,占40个字节空间。定义一个指针变量a,占8个字节空间,指向20个字节空间。*: *p作为右值:获得指针指向空间中的值。1.sizeof运算时。
2024-03-05 09:00:38
405
原创 2.28 进程间的通信 管道 and信号
写入数据时,如果管道中没有存满(64k),则直接写入,管道中如果存满,则阻塞等待直到有数据读出,才能继续写入。读取数据时,如果管道中有数据直接读取,管道中没有数据阻塞等待直到有数据写入读出,继续向后执行。读取数据时,如果管道中有数据直接读取,管道中没有数据不阻塞等待直接向下执行。编写两个进程,A B A给B发送一条消息,B接收到打印后再给A回复一条消息。写入数据时,会产生管道破裂错误,导致程序崩溃。打开管道文件 -> 读写管道文件 -> 关闭管道文件。pipefd[1]:写管道文件描述符。
2024-02-29 09:08:40
877
原创 线程 分离 互斥锁 信号量
线程结束后,自动回收线程空间功能:线程属性初始化功能:线程属性销毁功能:设置分离属性PTHREAD_CREATE_DETACHED 分离属性PTHREAD_CREATE_JOINABLE 加入属性(默认) //线程同步 阻塞等待练习:定义一个学生结构体char sex;int age;int score;创建两个线程,线程1负责从终端接收学生信息线程2负责将学生信息打印在终端。
2024-02-28 09:27:15
697
原创 线程基本概念
功能:利用进程空间执行另外一份代码l:参数以列表形式传递v:参数以指针数组形式传递e:更新环境变量p:在指定目录下查找文件setenv功能:设置环境变量的值参数:name:环境变量名value:环境变量的值overwrite:非0 覆盖0 不覆盖返回值:成功返回0失败返回-1。
2024-02-28 09:23:04
719
原创 day 22
1.time功能:返回1970-1-1到现在的秒数(格林威治时间)参数:tloc:存放秒数空间首地址返回值:成功返回秒数失败返回-1功能:将秒数转换为本地时间参数:timep:存放秒数空间首地址返回值:成功返回结构体时间失败返回NULLint tm_sec;/* Seconds (0-60) */秒int tm_min;/* Minutes (0-59) */分钟/* Hours (0-23) */小时。
2024-02-20 21:07:14
377
原创 高级编程(2)
/在源文件中,每一行结尾都有\n,所以我们可以使用fgets获得每一行的首地址,让pret进行记录。//输出含义,因为已经截断了,所以ptmp当前的首地址是含义的地址。if(strcmp(word,tmpbuff) == 0) //进行字符串判断,看是否与输入的字符串相等。if(NULL == pret) //判断是否读到文件末尾。
2024-02-18 09:56:53
737
1
原创 学习日志以及个人总结(17)
操作:1.创建空链表2.头插3.尾插4.链表遍历5.链表的长度删除://1.p指针变量 指向首节点//2.断开链表//3.释放p所在的节点free(p);//1.p定位到尾节点的前一个节点= NULL)//2.释放 p->next//3.p所在节点成为了新的尾节点0 1计算机1Byte --存储单位软件控制硬件编程 -->CPU-->寄存器(位)--硬件关联C语言上 位运算。
2024-02-02 20:21:43
610
原创 学习日志以及个人总结 (16)
共用体union 共用体名成员列表;//表示定义一个共用体类型注意:1.共用体初始化 --- 只能给一个值,默认是给到第一个成员变量2.共用体成员变量辅助3.可以判断大小端 ----※!!实际用途 :节省空间进行数据转换比如:struct stuint sno;int Tno;int no;union}d;4.共用体变量作为函数参数,也可以是函数返回值类型。
2024-02-01 20:33:01
664
1
原创 学习日志以及个人总结(14)
/&a[0]--对应的数据类型 int(*)[4] //数组类型 (一维整型数组类型)//返回值类型 --- 指针类型 --- 指针的函数 --指针函数。//数组类型的指针 --- 数组指针。//*(p+1) 代表的类型int[4] 此时相当于是 int[4]的数组名。//a --代表的值 -- 首元素的地址 -- a[0]//a --数组名 --代表类型 int [3][4]//a[0] 的数据类型 int[4]void * //万能指针 --可以接收任意类型的指针。
2024-01-30 21:51:51
816
1
原创 学习日志以及个人总结(13) 指针!
1.指针概念a.指针 --- 地址 ---内存单元编号 //值b.指针 --- 数据类型 ---指针类型 //类型不同语境:定义一个指针?//指针类型的变量打印某个变量的指针?//指针 --地址2.指针变量的定义基类型 * 变量名a.基类型数据类型基本数据类型数组类型指针类型b. * //定义时候的 * 表示定义的是一个 指针类型的变量c. 变量名eg://p和q都是指针类型的变量 *是修饰指针变量名的。
2024-01-29 21:55:04
737
原创 学习日志以及个人总结(12)
形式上: //形参 --数组形式,行数实际上://编译器 的最终解释实参://数组名 行数int[4] a[];输入设备---CPU ---输出设备V存储器总线 -- 0101总线的宽度总线(1.数据总线 2.控制总线 3.地址总线)练习定义一个二维整型数组,实现一个函数,对二维数组元素求和。
2024-01-28 22:05:30
1783
1
原创 学习日志以及个人总结第八天
/h e l l o '\0' //5就是该字符串的长度。· //存储时,是按照字符数组的形式存储。2.字符串的结束标志 比较重要,表示字符串结束 '\0'//'\0' 前面有效字符的个数。最主要: "english" //字符串常量。字符串一定需要'\0'结束标志。返回值:表示的是存储字符串那块空间首地址。'\0'//代表结束标志。参数:&s 字符串所在空间的首地址。
2024-01-23 20:26:10
513
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人