2022年9月22日

【TCP】维护可靠通信的方式

摘要: 数据分片:在发送端对用户数据进行分片,在接收端进行重组,由TCP确定分片的大小并控制分片和重组;到达确认:接收端接收到分片数据时,根据分片数据序号向发送端发送一个确认包;超时重发:发送方在发送分片后计时,若超时却没有收到相应的确认包,将会重发对应的分片;滑动窗口:TCP连接双方的接收缓冲空间大小都固 阅读全文

posted @ 2022-09-22 10:44 甲鱼写代码 阅读(30) 评论(0) 推荐(0) 编辑

【TCP/UDP】TCP与UDP的区别

摘要: TCP面向连接,通过三次握手建立连接,四次挥手接除连接;UDP是无连接的,即发送数据之前不需要建立连接,这种方式为UDP带来了高效的传输效率,但也导致无法确保数据的发送成功。 TCP是可靠的通信方式。通过TCP连接传送的数据,TCP通过超时重传、 数据校验等方式来确保数据无差错,不丢失,不重复,且按 阅读全文

posted @ 2022-09-22 10:36 甲鱼写代码 阅读(29) 评论(0) 推荐(0) 编辑

2022年9月21日

【C/C++】static

摘要: C/C++共有 static修饰局部变量(比如函数中的局部变量),此时这个变量的位置就在全局静态区,但仍旧只能在函数内部访问,比如 1 #include <iostream> 2 using namespace std; 3 4 void test(){ 5 static int a=0; 6 a+ 阅读全文

posted @ 2022-09-21 17:18 甲鱼写代码 阅读(13) 评论(0) 推荐(0) 编辑

【C/C++】内存模型

摘要: BSS段 所有未被显示地初始化的全局变量和静态变量(包括局部静态变量) 所有被显式地初始化为0的全局变量和静态变量(包括局部静态变量) 符合上述两种条件的变量被存放在BSS段中 阅读全文

posted @ 2022-09-21 16:29 甲鱼写代码 阅读(15) 评论(0) 推荐(0) 编辑

2022年9月20日

【base】调度时机

摘要: 调度时机 单核模式下,RTOS允许高优先级任务被唤醒的时候立即得到执行 我们之前在Linux的时候得到的结论是,高优先级任务挂到就绪队列上了,但是并不一定能够马上得到执行的,还是要等到tick到了,在内核模式下切换任务 这里我们换个角度想想,什么情况下,高优先级任务会挂就绪队列上?释放信号量、发消息 阅读全文

posted @ 2022-09-20 17:58 甲鱼写代码 阅读(19) 评论(0) 推荐(0) 编辑

【base】信号量与互斥量

摘要: RTOS的mutex(互斥量、互斥锁)自带优先级继承功能,非常方便 信号量有点类似于生产者和消费者的模式,一个生产,另一个只负责消耗 而互斥量像是一个固有公共资产,各部门轮流使用 互斥量、互斥锁,本来的概念确实是:谁上锁就得由谁解锁。 但是FreeRTOS并没有实现这点,只是要求程序员按照这样的惯例 阅读全文

posted @ 2022-09-20 17:14 甲鱼写代码 阅读(64) 评论(0) 推荐(0) 编辑

【PD】国电

摘要: 优先级:C>A>B A开启ADC,全部转换完后在DMA中断中设置标志位,A检测标志位后释放互斥量,代表一次采样完成,数据已经到了ram里了,B可以去读了 此时B可以获取互斥量,关ADC,并把数据搬到内存中的另外一个位置(这样做的原因是,计算过程中,源数据不可修改),释放互斥量,并且可以开始FFT运算 阅读全文

posted @ 2022-09-20 12:26 甲鱼写代码 阅读(17) 评论(0) 推荐(0) 编辑

2022年9月19日

【C++】栈帧

摘要: 栈帧在程序中负责保存程序的局部变量、参数与函数最终执行完后的返回地址。我们在写C语言代码时经常会接触到的一个概念“局部变量”就是由栈帧来负责保存维护的。 模拟栈帧过程非常好的文章:https://blog.csdn.net/weixin_43815930/article/details/104823 阅读全文

posted @ 2022-09-19 16:19 甲鱼写代码 阅读(19) 评论(0) 推荐(0) 编辑

2022年9月16日

【driver】ADC

摘要: 1 阅读全文

posted @ 2022-09-16 16:11 甲鱼写代码 阅读(17) 评论(0) 推荐(0) 编辑

【driver】字符设备驱动

摘要: 1 阅读全文

posted @ 2022-09-16 10:18 甲鱼写代码 阅读(10) 评论(0) 推荐(0) 编辑

导航