技术让梦想更伟大-李肖遥 + 关注

【编程之美】超时重传,滑动窗口,可靠性传输原理C语言实现

发布时间:2020-05-19 14:54:52 浏览:208 评论 :0

最近在做无线传输的通信协议实现,这里涉及到超时重传,窗口移动,可靠性传输的问题,有些一些心得,也有很多的调试历程,与大家分享,当然源码不会开源,但是思想会毫无保留.

编程语言 编程 数据结构 数据类型

FatFs文件系统的移植

发布时间:2016-07-14 09:16:00 浏览:1163 评论 :0

FatFs 的底层可以写一次命令,读写多个扇区。FatFs的设计的读写的思想就很好,小块的数据,我就经过Buffer来存储,大块的数据,我就直接进行存取,那样速度,效率高了很多,看图:   FatFs文件系统的结构也很清晰,也是看图:   补充一点,FatFs的作者写了两个,一个是正宗的FatFs,比较适合大的RAM的设备,另一个是FatFs/Tiny,比较适合小RAM的系统,比如单片机,FatFs/Tiny占用较小的RAM,代价是更慢的读写速度和更少的API函数。

函数 配置 PTR 测试 存储 数据类型

代码面试之广义表

发布时间:2015-10-02 17:55:00 浏览:692 评论 :0

广义表的基本概念 广义表(Lists,又称列表)是线性表的推广。线性表定义为n>=0个元素a1,a2,a3,…,an的有限序列。线性表的元素仅限于原子项,原子是作为结构上不可分割的成分,它可以是一个数或一个结构,若放松对表元素的这种限制,容许它们具有其自身结构,这样就产生了广义表的概念。

算法 PTR malloc void 存储

代码面试之哈希表

发布时间:2015-10-01 17:09:00 浏览:695 评论 :0

哈希表是种数据结构,它可以提供快速的插入操作和查找操作。第一次接触哈希表时,它的优点多得让人难以置信。不论哈希表中有多少数据,插入和删除(有时包括侧除)只需要接近常量的时间即0(1)的时间级。实际上,这只需要几条机器指令。

算法 函数 random 数据结构 存储

KMP,深入讲解next数组的求解(转载)

发布时间:2015-10-01 09:34:00 浏览:732 评论 :0

前言     之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。

算法 空格 数组

代码面试之串(转载)

发布时间:2015-10-01 08:40:00 浏览:513 评论 :0

串的基本概念    串(或字符串),是由零个或多个字符组成的有穷序列。含零个字符的串称为空串,用Ф表示。    串中所含字符的个数称为该串的长度(或串长)。    当且仅当两个串的长度相等并且各个对应位置上的字符都相同时,这两个串才是相等的。

算法 存储 数组

数据结构——堆(转载)

发布时间:2015-09-30 20:57:00 浏览:615 评论 :0

堆常用来实现优先队列,在这种队列中,待删除的元素为优先级最高(最低)的那个。在任何时候,任意优先元素都是可以插入到队列中去的,是计算机科学中一类特殊的数据结构的统称 一、堆的定义 最大(最小)堆是一棵每一个节点的键值都不小于(大于)其孩子(如果存在)的键值的树。

算法 排序 数据结构 数组

前缀、中缀、后缀表达式(转载)

发布时间:2015-09-30 13:49:00 浏览:706 评论 :0

关键字:概念, 前缀表达式, 前缀记法, 中缀表达式, 中缀记法, 波兰式, 后缀表达式, 后缀记法, 逆波兰式 它们都是对表达式的记法,因此也被称为前缀记法、中缀记法和后缀记法。它们之间的区别在于运算符相对与操作数的位置不同:前缀表达式的运算符位于与其相关的操作数之前;中缀和后缀同理。

string static 表达式 input

代码面试之栈和队列(转载)

发布时间:2015-09-30 13:47:00 浏览:485 评论 :0

1.1 栈的定义 栈是一种特殊的线性表。其特殊性在于限定插入和删除数据元素的操作只能在线性表的一端进行。如下所示: 结论:后进先出(Last In First Out),简称为LIFO线性表。   栈的基本运算有六种: 构造空栈:InitStack(S)、 判栈空: StackEmpty(S)、 判栈满: StackFull(S)、 进栈: Push(S,x)、可形象地理解为压入,这时栈中会多一个元素 退栈: Pop(S) 、 可形象地理解为弹出,弹出后栈中就无此元素了。

void 存储

面试之C语言字符串操作总结大全(转载)

发布时间:2015-09-29 20:05:00 浏览:575 评论 :0

  趁着十一就好好补补数据结构吧,通信这个不软不硬的专业,现在还是得好好学学补习补习,,你这个非211的本科生!虽然拿到了一个offer,但是觉得时间还有,得继续拼一拼,希望不辜负! 1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 s...

函数 索引 string void source 数组

代码面试之链表

发布时间:2015-09-15 11:40:00 浏览:515 评论 :0

  最近经历了各种面试,各种东北西跑,各种面试准备,以及各种各样不一样的问题和面试官对自己本科大学的打击,,我相信即使是普通大学也会让考官眼前一亮的,,作为一名非211的湘潭大学的学子,我不知道自己以后路在何方,但依然会继续前行,相信自己会做到最好!   刚从武汉面试回来,打算总结一下面试经验,身为一名通信工程专业的与技术行离不开的技术男,肯定离不开各种电路设计,程序设计,总之在面试过程中,考官也会问道关于数据结构这种最常见的问题,话不多说,先就总结一下吧!   链表是最基本的数据结构,链表相关的操作相对而言比较简单,在面试过程时间有限的过程当中也适合考察写代码的能力。

pos node list

人体生命体征模拟器--电赛专题

发布时间:2015-07-08 20:32:00 浏览:977 评论 :0

设计要求:设计一款模拟人体生命体征模拟器,要求其能准确模拟人体生命的各种体征(呼吸,心跳,体温,声音);并且能够对相关参量进行有效控制。 以呼吸或者心跳体征为主要模拟实现的功能: 1、输入电压:5V或者12V 2、频率可控范围:0.

模块 测试 数组

乾坤合一~Linux设备驱动之USB主机和设备驱动

发布时间:2015-05-24 15:56:00 浏览:714 评论 :0

如果不能陪你到最后 是否后悔当初我们牵手 如果当初没能遇见你 现在的我 在哪里逗留   所有的爱都是冒险 那就心甘情愿 等待我们一生中 所有悬念   我一往情深的恋人 她是我的爱人 她给我的爱就像是 带着露水的清晨 我多想给她我的真 我心疼的爱人 我愿为她守候寂寞 就像这夜晚 深沉   这一章从主机侧角度看到的USB 主机控制器驱动和设备驱动从主机侧的角度而言,需要编写的USB 驱动程序包括主机控制器驱动和设备驱动两类,USB 主机控制器驱动程序控制插入其中的USB 设备,而USB 设备驱动程序控制该设备如何作为从设备与主机通信。

linux 函数 配置 主机 索引 void Transfer

乾坤合一~Linux设备驱动之I2C核心、总线以及设备驱动

发布时间:2015-05-19 16:43:00 浏览:561 评论 :0

我思念的城市已是黄昏 为何我总对你一往情深 曾经给我快乐 也给我创伤 曾经给我希望 也给我绝望 我在遥远的城市 陌生的人群 感觉着你遥远的忧伤 我的幻想 你的忧伤,像我的的绝望,那样漫长,,,,,这是今天的旋律,直入心底~~~~~~~~~~~~~~~~   在Linux 系统中,...

linux 函数 Algorithm static Driver void 数据结构

乾坤合一~Linux设备驱动之终端设备驱动

发布时间:2015-05-17 14:50:00 浏览:541 评论 :0

多想拥你在我的怀里 却无法超越那距离 美好回忆渐渐地远去 盼望今生出现奇迹   无尽的想念 荒了容颜 无助的爱恋 从未改变 这是今天的旋律,,,,今生今世,遥不可及~ 1 终端设备   终端是一种字符型设备,通常使用tty简称各种类型的设备 1.1 串行端口终端(/dev/ttySn)   串行端口终端 (Serial Port Terminal )是使用计算机串行端口连接的终端设备。

linux 函数 模块 static open Driver void file

蜕变成蝶~Linux设备驱动之watchdog设备驱动

发布时间:2015-05-14 17:30:00 浏览:657 评论 :0

  看门狗(watchdog )分硬件看门狗和软件看门狗。硬件看门狗是利用一个定时器 电路,其定时输出连接到电路的复位端,程序在一定时间范围内对定时器清零 (俗称 “喂狗”),如果程序出现故障,不在定时周期内复位看门狗,就使得看门狗定时器溢出产生复位信号 并重启系统。

linux 函数 static Driver void file

蜕变成蝶~Linux设备驱动之按键设备驱动

发布时间:2015-05-12 17:32:00 浏览:647 评论 :0

  在上述的驱动系列博客中,我们已经了解了关于阻塞和非阻塞、异步通知、轮询、内存和I/O口访问、并发控制等知识,按键设备驱动相对来说是比较简单的,本章内容可以加深我们对字符设备驱动架构、阻塞与非阻塞、中断定时器等相关知识的理解。

linux 函数 request static void file

蜕变成蝶~Linux设备驱动之CPU与内存和I/O

发布时间:2015-04-30 15:21:00 浏览:639 评论 :0

那是世上最远的距离 思念让我无法去呼吸 你的一动和一举 占据我心里 陪我每个孤独无尽的夜里  用我心中盛放的画笔 描绘你微笑时的绚丽 爱让人痛彻心底 我却不怀疑 你的存在是我生命的奇迹 感受你的每一次的呼吸 多想告诉你我有多爱你 如果我说我愿意 为你而死去 可否你的梦里留下我痕迹 无数悸动变换...

linux 函数 内存管理 void 内存映射 CPU

蜕变成蝶~Linux设备驱动之中断与定时器

发布时间:2015-04-28 10:04:00 浏览:581 评论 :0

  “我叮咛你的 你说 不会遗忘 你告诉我的 我也全部珍藏 对于我们来说 记忆是飘不落的日子 永远不会发黄 相聚的时候 总是很短 期待的时候 总是很长 岁月的溪水边 捡拾起多少闪亮的诗行 如果你要想念我 就望一望天上那 闪烁的繁星 有我寻觅你的 目光” 谢谢你,曾经来过~  中断与定时器是我们再熟悉...

linux 函数 static open void

蜕变成蝶~Linux设备驱动之异步通知和异步I/O

发布时间:2015-04-25 09:28:00 浏览:662 评论 :0

  在设备驱动中使用异步通知可以使得对设备的访问可进行时,由驱动主动通知应用程序进行访问。因此,使用无阻塞I/O的应用程序无需轮询设备是否可访问,而阻塞访问也可以被类似“中断”的异步通知所取代。异步通知类似于硬件上的“中断”概念,比较准确的称谓是“信号驱动的异步I/O"。

linux 函数 同步 void

11