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

学做宝宝辅食的网站网络软文营销案例3篇

学做宝宝辅食的网站,网络软文营销案例3篇,怎样做限制只访问一个网站,微芒科技网站建设top说在开头 正点原子F429开发板主芯片采用的是STM32F429IGT6,网络PHY芯片采用的是LAN8720A(V1)和YT8512C(V2),采用的是RMII连接,PHY_ADDR为0;在代码中将会对不同的芯片做出适配。 CubeMX版本:6.6.1; F4芯片组…

说在开头

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

        CubeMX版本:6.6.1;

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

        本文的基础代码为上一篇文章得到的代码:基于正点原子阿波罗F429开发板的LWIP应用(1)——网络ping通-CSDN博客

1、静态IP和DHCP切换设置

1.1、原理说明

        在LWIP协议中通过“lwipopts.h”文件来对LWIP的各功能进行使能。而其中的“#define LWIP_DHCP 1”语句则是用来设置DHCP功能的,当LWIP_DHCP的值为1时则使能DHCP功能;若LWIP_DHCP的值为1则采用静态IP。

        DHCP和静态IP两中模式的区别就是IP的来源;反映到代码中就是:IP由谁设置。

        当采用DHCP时初始化ETH外设时将网卡的IP、子网掩码和网关都设为NULL,初始化结束后会通过“dhcp_start(&gnetif);”函数来启动DHCP服务向网关发送分配IP请求,只有当网关给它分配了IP之后才可以ping通,这也是为什么上篇文章最后强调“一定要接入路由器”的原因,因为电脑网口和交换机都不具备IP分配能力,只有路由器才具有;

        当采用静态IP的时候初始化ETH外设1时就会将IP信息赋值给网卡,初始化完成后模块的IP就已经可以ping通。

1.2、代码修改

//lwip.c开头增加以下代码:
uint8_t IP_ADDRESS[4] = { NULL };
uint8_t NETMASK_ADDRESS[4] = { NULL };
uint8_t GATEWAY_ADDRESS[4] = { NULL };//修改void MX_LWIP_Init(void)函数为以下内容:
void MX_LWIP_Init(void)
{
#if(LWIP_DHCP == 0)IP_ADDRESS[0] = 192;//自定义IPIP_ADDRESS[1] = 168;IP_ADDRESS[2] = 1;IP_ADDRESS[3] = 251;NETMASK_ADDRESS[0] = 255;//自定义子网掩码NETMASK_ADDRESS[1] = 255;NETMASK_ADDRESS[2] = 252;NETMASK_ADDRESS[3] = 0;GATEWAY_ADDRESS[0] = 192;//自定义默认网关GATEWAY_ADDRESS[1] = 168;GATEWAY_ADDRESS[2] = 1;GATEWAY_ADDRESS[3] = 1;
#endif	/* Initilialize the LwIP stack without RTOS */lwip_init();/* IP addresses initialization with DHCP (IPv4) */#if(LWIP_DHCP == 0)IP4_ADDR(&ipaddr, IP_ADDRESS[0], IP_ADDRESS[1], IP_ADDRESS[2], IP_ADDRESS[3]);IP4_ADDR(&netmask, NETMASK_ADDRESS[0], NETMASK_ADDRESS[1] , NETMASK_ADDRESS[2], NETMASK_ADDRESS[3]);IP4_ADDR(&gw, GATEWAY_ADDRESS[0], GATEWAY_ADDRESS[1], GATEWAY_ADDRESS[2], GATEWAY_ADDRESS[3]);
#elif(LWIP_DHCP == 1)ipaddr.addr = 0;netmask.addr = 0;gw.addr = 0;
#endif/* add the network interface (IPv4/IPv6) without RTOS */netif_add(&gnetif, &ipaddr, &netmask, &gw, NULL, &ethernetif_init, &ethernet_input);/* Registers the default network interface */netif_set_default(&gnetif);#if(LWIP_DHCP == 0)printf("\r\n网卡en的MAC地址为:................%d.%d.%d.%d.%d.%d\r\n静态IP地址........................%d.%d.%d.%d\r\n子网掩码..........................%d.%d.%d.%d\r\n默认网关..........................%d.%d.%d.%d\r\n",gnetif.hwaddr[0], gnetif.hwaddr[1], gnetif.hwaddr[2], gnetif.hwaddr[3], gnetif.hwaddr[4], gnetif.hwaddr[5],IP_ADDRESS[0], IP_ADDRESS[1], IP_ADDRESS[2], IP_ADDRESS[3], NETMASK_ADDRESS[0], NETMASK_ADDRESS[1], NETMASK_ADDRESS[2], NETMASK_ADDRESS[3], GATEWAY_ADDRESS[0], GATEWAY_ADDRESS[1], GATEWAY_ADDRESS[2], GATEWAY_ADDRESS[3] );
#endif /* USE_DHCP */ if (netif_is_link_up(&gnetif)){/* When the netif is fully configured this function must be called */netif_set_up(&gnetif);}else{/* When the netif link is down this function must be called */netif_set_down(&gnetif);}/* Set the link callback function, this function is called on change of link status*/netif_set_link_callback(&gnetif, ethernet_link_status_updated);/* Create the Ethernet link handler thread */#if(LWIP_DHCP == 1)/* Start DHCP negotiation for a network interface (IPv4) */dhcp_start(&gnetif);
#endif
/* USER CODE BEGIN 3 *//* USER CODE END 3 */
}

        修改完之后即可通过修改“lwipopts.h”文件中的“LWIP_DHCP”的值来设置IP的模式,当“LWIP_DHCP”的值为1时表示启用DHCP模式;为0时表示使用静态IP模式,这时候就可以通过修改lwip.c中“IP_ADDRESS”、“NETMASK_ADDRESS”和“GATEWAY_ADDRESS”这三个数组的值来设置模块的IP。

        修改完之后编译同样是0警告0错误,烧录之后模块的IP也能正常ping通。(注意:1、当采用静态IP时需要根据实际情况来设置模块的IP参数,如果不懂请自行百度下IP、子网掩码和默认网关这三个参数之间的关系。2、当采用静态IP模式时需要注意局域网下IP冲突的问题。)

2、MAC地址修改

       MAC地址也叫网络设备的硬件地址,每个设备不同且有特定含义。MAC地址都是由IEEE的注册管理机构RA分配给厂商,分配时只分配前三个字节,后三个字节由各厂商自行分配。 IEEE组织会定期更新oui文件,用于查询mac地址厂商,Oui文件地址: http://standards.ieee.org/develop/regauth/oui/oui.txt

        在通过CubeMX配置的时候可以通过修改"ETH"——>“Parameter Settings”——>“Ethernet MAC Address”的值来修改MAC地址。如下图:

        在生成代码后LWIP的MAC地址是通过“ethernetif.c”文件中的“low_level_init”函数中MACAddr数组的值来设置的,通过修改MACAddr的值即可修改LWIP的MAC地址。在实际开发中会通过一定的规律来设置芯片的MAC地址以保证每个产品的MAC地址不一样,比如芯片ID等。

我们可以通过一个免费软件(Advanced IP Scanner(绿色版))来查看模块IP对应的MAC地址,如下图:

由于本章节内容简单,改动不大就不上传源代码了。

http://www.dtcms.com/wzjs/518511.html

相关文章:

  • 泰安微信网站制作企业网站优化方案
  • 有哪些熟悉的网站是jsp做的网络广告投放
  • 2015做哪些网站致富深圳网站营销seo费用
  • 家政服务网站开发的依据it培训机构推荐
  • 电子商城网站开发与设计网站多少钱
  • 做援交的网站网络营销的分类
  • iis7配置thinkphp网站百度快照怎么发布
  • 自己可以进行网站建设吗百度搜索风云榜电视剧
  • 自己做培训需要网站吗重庆整站seo
  • 一个app开发大概要多少钱百度seo在哪里
  • 一般使用的分辨率的显示密度是seo关键词优化排名哪家好
  • html5 css3网站实例济南seo关键词优化方案
  • 电子商务网站建设资料广告软文外链平台
  • html源码网站建设中郑州网络营销推广公司
  • 重庆环保公司网站建设网站排名查询工具
  • 网站推广工作计划欧洲站fba
  • 零基础做网站百度宁波营销中心
  • ui设计师怎么做自己的网站简短的营销软文范文
  • 佛山网站建设 奇锐科技五年级上册优化设计答案
  • 易企秀微网站如何做文字链接河北百度seo关键词
  • ui设计培训多长时间抖音seo排名系统哪个好用
  • 凡科app国家优化防控措施
  • 50万县城做地方网站新网站怎么推广
  • 崇明网站怎么做seo最好的关键词排名优化软件
  • 女士春深圳 网站制作seo网站推广专员
  • 网上做任务赚钱网站有哪些百度seo培训要多少钱
  • 网站开发项目成本分析之合理性媒体吧软文平台
  • 创新型的赣州网站建设网络广告案例以及分析
  • 虚拟主机怎么发布网站电商自学网
  • 怎么样签约设计网站新app推广去哪里找