当前位置: 首页 > news >正文

基于正点原子阿波罗F429开发板的LWIP应用(3)——Netbiosns功能

说在开头

        正点原子F429开发板主芯片采用的是STM32F429IGT6,网络PHY芯片采用的是LAN8720A(V1)和YT8512C(V2),采用的是RMII连接,PHY_ADDR为0;在代码中将会对不同的芯片做出适配。

        CubeMX版本:6.6.1;

        F4芯片组Pack包版本:STM32Cube FW_F4 V1.27.0;

准备工作:

        在本次实验开始前需要先前往以下地址下载LWIP2.1.2或者2.1.3版本的源码:Index of /releases/lwip/

        下载完成后解压,仅需要保留其中src文件夹的内容,接下来进入上期工程的以下路径:"Middlewares/Third_Party/LwIP",删除原有的src文件夹,将下载的LWIP源码里的src文件夹复制到LwIP文件夹内;

        复制完成后编译,一样是0警告和0错误;

Netbiosns功能介绍

        Netbionsns功能是一个NetBIOS名称服务器功能,开启该功能后在ping某个IP时可以通过ping它的名称代替。简单来说如果要测试某个IP是否能够到达,我们通常会采用ping IP的方式来判断。在开启Netbionsns功能后在ping IP时可以使用设备名称代替IP。但是它有几点注意事项:1、它只响应配置过的名称;2、无法检测重复名称。

代码修改:

        首先将"Middlewares/Third_Party/LwIP/src/apps/netbiosns/netbiosns.c"添加进工程“Application/User/LWIP/App”分组中;

        lwip.c开头添加头文件:#include "lwip/apps/netbiosns.h"

        lwip.c开头添加宏定义:#define  HOST_NAME   "STM32F429"

        lwip.c的“void MX_LWIP_Init(void)”函数“netif_set_default(&gnetif);”语句后添加以下内容:

netif_set_hostname(&gnetif, HOST_NAME);            /* 此函数必须开启 LWIP_NETIF_HOSTNAME 宏定义*/
netbiosns_set_name(HOST_NAME);
netbiosns_init();	

        修改完成后编译:0错误,0警告;烧录后首先ping模块IP,可以ping通;之后再ping模块名称可以发现也可以ping通,我这边模块IP是(192.168.1.251),演示结果如下:

本实验源代码如下:

http://www.xdnf.cn/news/556795.html

相关文章:

  • 嵌入式培训之系统编程(一)标准IO、文件操作
  • Liquid Wire 柔性应变传感器:金属凝胶导体 | 仿生肌肉长度监测 | 高精度动作控制
  • 特定领域 RAG中细调嵌入模型能否提升效果?
  • IVX:重构 AI 原生开发范式,让模型调用成为指尖艺术​
  • PostgreSQL简单使用
  • 深入浅出人工智能:机器学习、深度学习、强化学习原理详解与对比!
  • 【深度学习-Day 14】从零搭建你的第一个神经网络:多层感知器(MLP)详解
  • 第六天的尝试
  • 服务器部署1Panel
  • 證券行業證券交易系統開發方案
  • 基于SpringBoot+Vue的学籍管理系统的设计与实现
  • Kubernetes在线练习平台深度对比:KillerCoda与Play with Kubernetes
  • 【开源工具】文件夹结构映射工具 | PyQt5实现多模式目录复制详解
  • 【鸿蒙开发】Hi3861学习笔记- MQTT通信
  • 统一端点管理(UEM):定义、优势与重要性
  • 从零开始:Python 从0到1轻松入门
  • 易路 AI 招聘:RPA+AI 颠覆传统插件模式,全流程自动化实现效率跃迁
  • 物业收费智能化:如何实现账单零差错自动生成?
  • SpringBean模块(三)具有生命周期管理能力的类(1)AutowireCapableBeanFactory
  • DOS常用命令及dos运行java
  • 协程+Flow:现代异步编程范式,替代RxJava的完整实践指南
  • NVIDIA Earth-2 AI 天气模型 DLI 课程:解锁全球风云的未来之匙
  • 4大AI智能体平台,你更适合哪一个呐?
  • 第六部分:第三节 - 路由与请求处理:解析顾客的点单细节
  • ⭐️白嫖的阿里云认证⭐️ 第二弹【课时3:大模型辅助内容生产场景】for 「大模型Clouder认证:利用大模型提升内容生产能力」
  • 基于YOLO11深度学习的变压器漏油检测系统【Python源码+Pyqt5界面+数据集+安装使用教程+训练代码】【附下载链接】
  • 通过 API 获取 1688 平台店铺所有商品信息的完整流程
  • Vue+eElement ui el-input输入框 type=number 输入无效。赋值输入框也不显示(问题已解决)
  • FaceFusion 3.2.0 参数配置参考
  • Java实现定时任务的几种常见方式