摘要: 在之前的推文中《STM32网络之SMI接口》《STM32网络之MII和RMII接口》,介绍了STM32以太网和外部PHY的所有接口。 如果有同学对SMI,MII和RMII接口不熟悉,建议看一下上面提到的两篇文章,不然可能看不太懂下文。 ​ 区域1:我们称为SMI接口,用于配置外部PHY芯片。 区域2 阅读全文
posted @ 2021-03-29 17:45 Fireflycjd 阅读(767) 评论(0) 推荐(0) 编辑
摘要: 在上篇文章《STM32网络之SMI接口》中,我们介绍了STM32网络控制器的SMI接口,SMI接口主要是用于和外部PHY芯片通信,配置PHY寄存器用的。 真正网络通信的数据流并不是通过SMI接口传输的,是通过MII接口或者RMII通信的。 1、MII接口 介质独立接口(MII) 定义了10 Mbit 阅读全文
posted @ 2021-03-27 21:12 Fireflycjd 阅读(5561) 评论(0) 推荐(0) 编辑
摘要: 01、以太网简介 STM32F20X和STM32F21的以太网外设可接受和发送数据按照IEE802.3-2002标准。 以太网提供一个完整的、灵活的外设去满足不同应用和要求。它支持与外部相连(PHY)的两个标准的工业接口:默认情况使用在IEEE802.3规范中定义的独立介质接口(MII)和精简介质独 阅读全文
posted @ 2021-03-26 21:39 Fireflycjd 阅读(779) 评论(0) 推荐(0) 编辑
摘要: 1、简介 这篇文章介绍一个好用的抓包工具Wireshark, 用来获取网络数据封包,包括HTTP、TCP、UDP等网络协议包。 开始界面 ​ wireshark是捕获机器上的某一块网卡的网络包,当你的机器上有多块网卡的时候,你需要选择一个网卡。直接双击上面的某个网卡即可。 2、Wireshark窗口 阅读全文
posted @ 2021-03-26 10:36 Fireflycjd 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 01、DHCP协议简介 DHCP(DynamicHost ConfigurationProtocol),动态主机配置协议,是一个应用层协议,具体可以参考《TCP/IP四层模型》文章。当我们将客户主机ip地址设置为动态获取方式时,DHCP服务器就会根据DHCP协议给客户端分配IP,使得客户机能够利用这 阅读全文
posted @ 2021-03-25 22:02 Fireflycjd 阅读(519) 评论(0) 推荐(0) 编辑
摘要: 1、简介 简述TCP的工作流程: 在三次握手的帮助下建立了TCP连接。这是一个启动和确认连接的过程。建立连接后,数据传输开始,传输过程完成后,通过四次挥手关闭已建立的连接。 关于TCP的内容请看之前的文章《TCP协议详解》。 简述UDP的工作流程: UDP 使用简单的传输方法,无需进行握手对话即可进 阅读全文
posted @ 2021-03-25 17:46 Fireflycjd 阅读(495) 评论(0) 推荐(4) 编辑
摘要: 01、关于TCP协议头中保留位 读者疑问: ​ 部分读者对上一篇《TCP协议详解》中的保留字节和标志位有疑问。 ​ 关于这一点,详细说下,大部分同学看过1999年译的《TCP/IP详解卷1:协议》,这本书中TCP部分保留位为6位,如下: ​ TCP/IP详解卷 -第一版- ​ 此书里面明确讲解了,T 阅读全文
posted @ 2021-03-17 20:45 Fireflycjd 阅读(520) 评论(0) 推荐(0) 编辑
摘要: 01、简介 TCP(Transmission Control Protocol 传输控制协议)是一种基于IP的传输层协议,TCP协议面向连接、正面确认与重传、缓冲机制、流量控制、差错控制、拥塞控制,可保证高可靠性(数据无丢失、数据无失序、数据无错误、数据无重复到达)传输层协议。 ​ 上图形象展示了T 阅读全文
posted @ 2021-03-15 22:10 Fireflycjd 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 1、简介 UDP(UserDatagramProtocol)是一个简单的面向消息的传输层协议,尽管UDP提供标头和有效负载的完整性验证(通过校验和),但它不保证向上层协议提供消息传递,并且UDP层在发送后不会保留UDP 消息的状态。因此,UDP有时被称为不可靠的数据报协议。如果需要传输可靠性,则必须 阅读全文
posted @ 2021-03-14 22:17 Fireflycjd 阅读(3602) 评论(0) 推荐(0) 编辑
摘要: 1、为何引入链表 在程序中经常面临一个问题,我们需要保存一定数量的对象,但是对象数目是不确定的,或者说是随时增加或减少的。这时候最简单的方法是创建一个足够大的数组,用来存储这些对象。我最近开发一个项目就遇到类似的问题,下面我把问题简化一下。 需求:通过PC下发一些矩形的坐标和宽高信息,每个区域有个I 阅读全文
posted @ 2021-03-12 10:20 Fireflycjd 阅读(752) 评论(0) 推荐(0) 编辑