- 博客(59)
- 收藏
- 关注
原创 总结FreeRTOS中的任务调度算法,空闲任务,任务状态等概念。
空闲指的就是当系统中无其他任务在执行时就会执行空闲任务,空闲任务是在开启调度器的时候被创建。时间片轮转:相同优先级的任务,拥有相同的时间片,当时间片被耗尽,就退出当前任务。抢占式调度:高优先级的任务优先执行,并且可以打断低优先级的任务执行。Suspended:任务被挂起,无法执行,但是任务还是存在。Ready:当任务被创建出来后就会进入到就绪态。Running:当任务正在执行就是运行态。Blocked:等待某一个事件。
2024-02-15 17:33:41
477
原创 总结串行通信,并行通信,波特率,全双工,半双工,单工等通信概念
串行通信:只使用一根线来进行数据发送或者是接收,串行通信传输数据是一位一位进行传输。并行通信:使用多跟线进行数据的发送和接收,并行通信可以一次传输多个数据位。波特率:每秒传输数据的位数,决定串口发送数据的快慢。串行通信成本低结构简单,但是传输数据的速率慢。并行通信成本较高,但是传输数据的速率比较快。半双工:在同一时刻只能进行发送或者接收。全双工:支持同时进行数据的接收和发送。单工:只能发送或者是接收。
2024-02-14 10:09:47
343
原创 画出TCP三次握手和四次挥手的示意图,并且总结TCP和UDP的区别
4> 数据收发是不同步的,为了提高效率,TCP会将多个较小,并且发送间隔短的数据包,沾成一个包发送,该现象称为沾包现象。5> TCP的使用场景:对传输质量比较高的以及传输大量数据的通信,在需要可靠通信的传输场合,一般使用TCP协议。6> 适用场景:发送小尺寸的,在接收到数据给出应答比较困难的情况下。2> 传输过程中,数据无误、数据无丢失、数据无失序、数据无重复。1> 面向无连接的,不保证数据可靠的,尽最大努力传输的协议。1> 提供面向连接的,可靠的数据传输服务。5> 收发是同步的,不会沾包。
2024-02-06 19:07:54
539
原创 复习进程间通信的7种方式,总结出他们的优点
1> 对管道文件的操作,可以使用open函数进行打开,所以,有名管道既可以用于亲缘进程间通信,也可以用于非亲缘进程间通信。3> 共享内存是所有进程间通信方式中效率最高的,原因是,操作共享内存段时,无需进行用户空间和内核空间的切换。1> 在内核空间创建一个特殊的文件,管道文件,一个进程可以将数据写入管道,另一个进程从管道中读取数据。3> 管道文件的操作是一次性的,当从管道中将写入的文件读取出来后,该消息就不存在了。2> 管道文件是特殊的文件,不用于存储数据,仅仅只是用来完成进程间数据的交流。
2024-02-03 13:03:10
685
原创 FreeRTOS
1.新建一个无FreeRTOS的工程,取名为Motor,根据风扇模块PDF原理图和操作文档让风扇转动2.新建一个包含FreeRTOS的工程,取名为Semaphore具体步骤:创建两个任务和一个共享资源,在两个任务中使用信号量来同时访问共享资源3.创建一个FreeRTOS工程,使用一个串口并且开启接收功能,接收到A时在一个任务中让蓝灯每隔1s闪烁一次,接收到B时让黄灯每隔2s闪烁一次,接收到C时让绿灯每隔3s闪烁一次,LED灯闪烁的功能只能在任务中完成
2024-01-29 21:01:10
199
原创 QT day2
include <QMovie> //动图头文件#include <QDebug> //qDebug头文件Q_OBJECTpublic:~Widget();private://声明取消按钮的槽函数//声明登录按钮的槽函数//创建一个动图//将动图插入标签//启动动图//让动图自适应标签大小//设置标签显示图片//让图片自适应标签大小//设置标签显示图片//让图片自适应标签大小//设置行编辑器显示模式为Password。
2024-01-09 20:38:19
919
原创 C++ day4
int age;public:Person(int age,string &name):age(age),name(name){cout << "Person的构造函数" << endl;~Person(){cout << "Person的析构函数"<< endl;cout << "Person的拷贝构造函数" << endl;cout << "Person的拷贝赋值函数" << endl;//+运算符重载//-运算符重载。
2024-01-01 20:49:12
1196
原创 C++ day3
*Person类*/int *age;public:/*Person有两个参数的构造函数*/// cout << "Person有两个参数的构造函数" << endl;/*Person的析构函数*/~Person()// cout << "Person的析构函数" << endl;delete age;/*Person的拷贝构造函数*/// cout << "Person的拷贝构造函数" << endl;/*Person的拷贝赋值函数*/
2023-12-28 21:06:43
813
原创 网络编程day6
1> 创建一个工人信息库,包含工号(主键)、姓名、年龄、薪资。2> 添加三条工人信息(可以完整信息,也可以非完整信息)3> 修改某一个工人的薪资(确定的一个)4> 展示出工资在10000到20000之间的所有工人信息5> 删除掉指定姓名工人的信息6> 工厂倒闭,删除整个工人信息库。
2023-12-22 09:09:08
92
原创 网络编程day4
网络字节序是数据在不同主机之间传输的一种格式,采用大端存储。不同主机在存储多字节整数时,由于cpu内核架构不同,分为大端存储和小端存储,主机间通信时,由于大小端存储不同,收到的数据也可能不是想要的数据,对此,引入网络字节序。无论发送端是大端存储还是小端存储,数据发送到网络上时统一按网络字节序传输。接收端接收消息后,再根据自己的存储方式将网络字节序转换为本机字节序。当应用程序产生少量的数据(例如1个字节),并且这些数据以数据包的形式发送到远端服务器时,就可能导致网络由于太多的数据包而过载。
2023-12-19 21:51:06
91
原创 网络编程day1
树的概念:树是由根节点和若干颗子树构成的。空集合也是树,称为空树,空树中没有节点。树属于树形结构,多个树可以组成森林。结构特殊的树:斜子树、二叉树。路由器和交换机的区别答:相同点,都可以完成网络中数据的传输,是传输介设备路由器工作在网络层,交换机工作在网络接口层。网络7层结构体系:物理层,数据链路层,网络层,运输层,会话层,表示层,应用层。网络4层结构体系:网络接口层,网络层,运输层,应用层。
2023-12-14 20:36:53
66
原创 IO进程线程day8
右值表示的是无法识别和存储地址的表达式,它只能出现在赋值语句的右边。通常,右值在表达式计算后会生成一个具体的数值或结果。左值表示的是可以被识别和存储地址的表达式,它可以出现在赋值语句的左边。左值可以出现在赋值操作的目标位置。
2023-12-12 20:55:04
82
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1