- 博客(13)
- 资源 (7)
- 收藏
- 关注
原创 LwIP的ARP协议实现(5)
ARP数据包发送我们知道一个数据包从底层传递进来的流程是怎么样的,如果是ARP数据包就会给ARP去处理,如果是IP数据报就使用ip4_input()函数传递到上层,这些处理在后面的章节讲解。那么如果上层协议想要发送数据,也肯定需要经过ARP协议将IP地址映射为MAC地址才能完成发送操作,IP数据报通过ip4_output()函数将上层数据包传递到ARP协议处理,关于IP协议是怎么样传递的我们暂且...
2019-03-29 11:33:22 2235
原创 LwIP的ARP协议实现(4)
ARP数据包处理以太网是有自己独立的寻址方式(MAC地址),而对于TCP/IP的上层协议(如TCP协议、IP协议),它们是以IP地址作为网络的标识,如果没有IP地址则无法进行收发数据。当数据通过网卡中接收回来的时候,LwIP内核就需要将数据进行分解,如果是IP数据报则递交给IP协议去处理,如果是ARP数据包则交由ARP协议去处理。真正让LwIP内核去处理接收到的数据包是ethernet_inp...
2019-03-29 11:32:35 1497
原创 LwIP的ARP协议实现(3)
发送ARP请求包发送ARP请求包的时候,需要填充已知的目标IP地址、源MAC地址、源IP地址等,并且需要该ARP包进行广播出去,所以以太网首部的目标MAC地址为FF-FF-FF-FF-FF-FF。LwIP先调用etharp_request()函数进行发送ARP请求包,在etharp_request()函数中会调用etharp_request_dst()函数进行发送,此时指定的目标MAC地址是e...
2019-03-29 11:31:18 1552
原创 LwIP中的ARP协议实现(2)
ARP缓存表的超时处理ARP表项的生存时间是5分钟,而ARP请求的等待时间是5秒钟,当这些时间到达后,就会更新ARP表项,如果在物理链路层无法连通则会删除表项。这就需要ARP层有一个超时处理函数对ARP进行管理,这些操作都是根据ARP表项的ctime字段进行的,它记录着对应表项的生存时间,而超时处理函数是etharp_tmr(),它是一个周期性的超时处理函数,每隔1秒就调用一次,当ctime的值...
2019-03-29 11:30:15 1335
原创 LwIP中的ARP协议实现(1)
前言从前面的文章,我们知道,ARP协议的核心是ARP缓存表,而ARP协议的实质就是对缓存表项(entry)的建立、更新、查询等操作。那么,LwIP中是是怎么实现ARP协议的呢?ARP缓存表的数据结构LwIP使用一个arp_table数组描述ARP缓存表,数组的内容是表项的内容,每个表项都必须记录一对IP地址与MAC地址的映射关系,此外还有一些基本的信息,如表项的状态、生命周期(生存时间...
2019-03-28 22:00:44 2084
原创 STM8L051F3_0c_新建工程
注意:stm8系列教程原创作者是我师兄:光光本文介绍基于IAR For STM8+ STM8L15x-16x-05x-AL31-L_StdPeriph_Lib(官方固件库)来新建STM8L051F3工程,STM8L的标准固件库可以到ST的官方网站中找到并下载,下载地址:http://www.st.com/content/st_com/en/products/embedded-software...
2019-03-13 15:02:51 2465
原创 STM8L051F3_0b_开发环境搭建
注意:原创作者是我师兄:光光本节介绍IAR For STM8(EWSTM8)开发环境搭建。开发环境的搭建步骤如下:软件下载 软件安装与注册 软件使用1、软件下载IAR For STM8(EWSTM8)的软件包可到技新官网:https://www.jixin.pro/中下载,也可以根据下面的教程到IAR的官网中下载(推荐)。下面开始介绍IAR For STM8(EWSTM8)开发环...
2019-03-13 15:02:02 1974
原创 继续学习FreeRTOS~
写在前面:杰杰这个月很忙~所以并没有时间更新,现在健身房闭馆装修,晚上有空就更新一下!其实在公众号没更新的这段日子,每天都有兄弟在来关注我的公众号,这让我受宠若惊,在这里谢谢大家的支持啦!!谢谢^在这里我们就跟着火哥的书来学习一下FreeRTOS的消息队列,这本书我觉得写得很好,基本都讲解到了,关于什么是消息队列,就请大家去看书,基础知识我暂时不说了。声明:本书绝大部分内容来自《FreeR...
2019-03-13 15:00:56 1048 7
原创 ARP协议原理
引言从前一篇文章中,我们知道计算机中会维护一个ARP缓存表,这个表记录着IP地址与MAC地址的映射关系,我们可以通过在电脑的控制台通过arp -a指令查看一下我们自己计算机的ARP缓存表:那么什么是ARP协议呢?初始ARPARP协议是地址解析协议(Address Resolution Protocol)是通过解析IP地址得到MAC地址的,是一个在网络协议包中极其重要的网络传输协议,它与网...
2019-03-12 20:03:05 47498 9
原创 STM8L051F3_0d_基础介绍
在开始学习外设使用之前,先了解一下STM8L051F3单片机系统中的基础部分:PWR(电源控制系统)、RST(复位系统)、CLK(时钟控制系统)。本节内容分为以下部分:PWR介绍 RST介绍 CLK介绍1、PWR介绍STM8L051F3是STM8L系列中属于低密度(low-density)产品,供电电压范围:1.8V~3.6V,供电的接口采用同一电源(VDD&VDD...
2019-03-12 20:01:04 4457
原创 网络底层知识
前言从前一篇文章,我们也知道大概的网络相关知识,网络这个系列文章就从底层往顶层讲解,本篇文章就来接触一下网络底层的相关知识。概述网络中的数据递交当用户发送数据时,将数据向下交给传输层,这是处于应用层的操作,应用层可以通过调用传输层的接口来编写特定的应用程序,并且TCP/IP协议栈一般也会包含一些简单的应用协议如 Telnet 远程登录、FTP文件传输、SMTP 邮件传输协议等,这些协议有自己...
2019-03-05 21:15:06 2825
原创 基于ubuntu腾讯云主机搭建网盘(我主要用于放书)
准备云主机一台(系统:ubuntu 16.4)域名。解析域名。域名设置解析后需要过一段时间才会生效。通过 ping 命令检查域名是否生效,如:ping www.yourdomain.com如果 ping 命令返回的信息中含有你设置的解析的 IP 地址,说明解析成功。注意替换下面命令中的 www.yourdomain.com为你自己的注册的域名安装 Seafile 服务器安装依...
2019-03-04 07:48:54 604
原创 http客户端
int WebClient(const char *url, const char *post, uint8_t **pageBuf){ uint16_t i, j, k; char *server_addr = NULL; char *web_addr = NULL; ip_addr_t server_ip; struct netconn *conn =...
2019-03-01 23:05:26 688
代码大全(第二版超高清文字版)——文字版
2019-03-04
LwIP+freertos工程(LwIP2.1.2最新版本)
2019-01-27
RT-Thread学习笔记,思维导图
2018-09-06
stm32串口缓冲区源码
2018-08-27
C#上位机源码串口调试助手
2018-05-29
stm8l系列单片机教程与源码
2018-05-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人