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

什么网站可以做发票验证码百度起诉seo公司

什么网站可以做发票验证码,百度起诉seo公司,专业房产网站建设公司,高端网站建设教学说在开头 正点原子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/356075.html

相关文章:

  • asp.net mvc 企业网站seo1现在怎么看不了
  • 怎么制作网站步骤app运营需要做哪些
  • 做网站用什么语言制作最安全?企业员工培训课程
  • 深圳积分商城网站制作百度人工客服电话多少
  • 建网站需要什么人免费的黄冈网站代码
  • 网站空间租用价格苏州搜索引擎排名优化商家
  • 哪个网站可以做体育主播三只松鼠有趣的软文
  • 东营有做网站的公司网站备案是什么意思
  • 网站建设彩铃seo搜索引擎入门教程
  • 重庆建设机电网站googleplay官方下载
  • 做网站前台有什么要求软文代写发布
  • 高端制作网站公司许昌网络推广公司
  • 网站建设向上滚动代码网络推广外包联系方式
  • 昆明响应式网站seo全称英文怎么说
  • 优秀校园网站建设汇报杭州优化公司多少钱
  • 建设美食电子商务网站电商
  • 百度网站开发合同范本网络服务器的作用
  • 昆山做网站企业百度竞价入门教程
  • 门户网站如何做推广外链网站是什么
  • 网站的相关链接怎么做百度一键安装
  • 古建设计素材网站搜索广告和信息流广告区别
  • 代运营公司怎么收费百度搜索网站优化
  • 做棋牌网站舆情监测系统
  • 做打井宣传广告找什么网站seo裤子的关键词首页排名有哪些
  • 做一个美食网站怎么做软文是什么
  • 论坛网站建设费用宁波网站优化公司价格
  • 北京公司网站建设报价湖南百度seo排名点击软件
  • 高端大气网站源码免费手游推广代理平台渠道
  • 网站建设企业邮箱排名网站
  • 海外网购appseo常见的优化技术