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

网站备案掉了什么原因写一篇软文多少钱

网站备案掉了什么原因,写一篇软文多少钱,券优惠网站如何做,视频开放api下面是使用CubeMX配置STM32F407VET6,实现以太网通讯(PHY芯片为LAN8720)的具体步骤总结: 一、硬件连接方式: 硬件原理图: 使用外部晶振为PHY芯片提供时钟。 STM32F407VET6 与 LAN8720 采用 RMII 模式连接。…

下面是使用CubeMX配置STM32F407VET6,实现以太网通讯(PHY芯片为LAN8720)的具体步骤总结:

一、硬件连接方式:

  • 硬件原理图:

    使用外部晶振为PHY芯片提供时钟。

image-20250407202838959

  • STM32F407VET6 与 LAN8720 采用 RMII 模式连接。
STM32F407VET6引脚功能(RMII)LAN8720引脚
PA1ETH_REF_CLKREF_CLK(50MHz时钟输入)
PA2ETH_MDIOMDIO
PC1ETH_MDCMDC
PA7ETH_CRS_DVCRS_DV
PC4ETH_RXD0RXD0
PC5ETH_RXD1RXD1
PB11ETH_TX_ENTX_EN
PB12ETH_TXD0TXD0
PB13ETH_TXD1TXD1
PA8ETH_RESETnRST

注意:

  • LAN8720使用RMII模式,需提供50MHz外部时钟至LAN8720芯片的XTAL1/CLKIN引脚。

    • LAN8720芯片外接的晶振频率为 25MHz,连接至LAN8720的XTAL1/CLKIN管脚。

      STM32F407在使用RMII模式进行以太网通信时,LAN8720内部会将这个25MHz时钟倍频为50MHz后输出到STM32的PA1引脚(ETH_REF_CLK),因此你只需要给LAN8720提供一个25MHz的晶振即可。

      • 外部晶振:25MHz
      • RMII参考时钟:LAN8720输出50MHz到STM32
  • LAN8720的地址引脚PHYAD0置0(接地),则默认PHY地址为0(我这里默认接地了,只是原理图没画出来)。

    • 根据LAN8720官方Datasheet说明:
    • 当PHYAD0引脚 下拉到GND 时,PHY地址为 0
    • 当PHYAD0引脚 上拉到VDDIO 时,PHY地址为 1

    在原理图中,这个引脚既未上拉也未下拉(即悬空状态),通常会导致PHY地址不确定,在实际工作中可能会导致STM32无法正确识别PHY芯片。


二、CubeMX软件配置步骤:

(1)以太网ETH配置:

  • 打开ETH外设,选择ModeRMII

    image-20250407204010071

  • 其他配置保持默认即可:

    • Ethernet MAC address:可以自定义,例如:00:80:E1:00:00:00。此处不做任何处理,保持默认即可。
  • 根据硬件设计,确认IO口是否配置成功(默认配置)

    image-20250407204112887

  • 配置PHY芯片复位引脚,这个引脚用于复位芯片,使得芯片初始化成功

    image-20250407204212948

(2)使能LWIP中间件:

  • 在Middleware选项中使能LWIP
  • 配置PHY芯片:

image-20250407204720221

PHY(Port Physical Layer),可称之为端口物理层,是一个对 OSI 模型物理层的简称。现在常用于STM32 的有 DP83848,LAN8270,DM9161/9162 等。这些 PHY 芯片都大同小异,基本寄存器都是一样的,只有扩展寄存和厂商专门设置的寄存器不同。如果将其中一个 PHY 驱动成功了,驱动另一个也是非常方便的,所以这里选择LAN8742即可(我们使用的芯片是LAN8720)

  • 配置LWIP的参数,

  • 使能ICMP(方便PING测试)

  • IP地址、子网掩码、网关等信息。 示例:

    IP地址:192.168.100.100
    子网掩码:255.255.255.0
    网关:192.168.100.1
    

    image-20250407204451400

  • 配置LWIP 关键参数:

image-20250407204627458

(3)配置中断(可选):

  • 通常默认已开启以太网相关中断,无需额外配置。

三、软件代码实现:

(1)初始化函数:

在生成的代码中,以太网和LWIP初始化函数自动生成,无需手动更改:

MX_LWIP_Init();    // LWIP协议栈初始化

(2)代码编写:

CUBEMX生成工程代码后,只需要编写如下函数即可实现网络初始化,实现和电脑网络以太网连接:

  • 主循环中必须调用MX_LWIP_Process(),否则网络栈不能正常工作,若不周期性调用,则导致网络数据包未及时处理,无法建立连接。

  • 需要初始化的时候给复位引脚一个脉冲,使PHY芯片开始工作。

    HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_RESET);
    HAL_Delay(55);
    HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);
    HAL_Delay(55);	
    
  • 如果PHY芯片还是初始化不成功,则在MX_LWIP_Init()运行之前加入5-10s的延时。

  • 由于这个版本LWIP库的原因,需要我们在程序中手动设置PHY芯片的地址,根据上文分析,PHY芯片地址为0X00:

    image-20250407211139514

  • 如下为初始化代码,完成下买的代码即可PING通:

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_TIM3_Init();MX_USART1_UART_Init();MX_USART6_UART_Init();MX_LWIP_Init();/* USER CODE BEGIN 2 *///芯片复位HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_RESET);HAL_Delay(55);HAL_GPIO_WritePin(ETH_RESET_GPIO_Port, ETH_RESET_Pin, GPIO_PIN_SET);HAL_Delay(55);	/* Infinite loop *//* USER CODE BEGIN WHILE */while (1){		/* LWIP协议栈定时任务处理 */MX_LWIP_Process();/* USER CODE END WHILE *//* USER CODE BEGIN 3 */}/* USER CODE END 3 */
}

(3)网络PING测试:

编译并烧写程序后,使用PC机的CMD命令行输入:

image-20250407205212112

如果能够ping通,说明硬件连接、LWIP协议栈工作正常。


四、注意事项与调试:

  • LAN8720供电电压为3.3V。
  • 必须确保LAN8720芯片接收到50MHz外部时钟,否则通讯无法正常进行。
  • 网络线连接方式需采用交叉线或连接到交换机。
  • 代码编写部分需要特别注意一下。
http://www.dtcms.com/wzjs/12280.html

相关文章:

  • 爱用建站下载搜索引擎优化公司排行
  • 福州网站制作服务产品推广的目的和意义
  • 如何做网站备案seo代码优化工具
  • 国外设计网站网址宁波好的seo外包公司
  • 做百度竞价对网站有无要求云南百度公司
  • 禅城建设网站百度百家号官网
  • 做网站常州比较有名的个人网站
  • 平面设计哪个网站素材好seo网上培训多少钱
  • 国外直播做游戏视频网站苏州seo报价
  • 企业网站制作服务营销软文500字范文
  • 男的和女的做那种短视频网站免费的b2b平台
  • 商丘网络诈骗广州网站seo推广
  • 辽宁省网站建设sem竞价推广是什么意思
  • 网站制作一条龙广告投放公司
  • 移动做绩效的网站百度seo优化系统
  • 男女直接做的视频爱奇艺视频网站怎么制作一个简单的网页
  • 从零开始做网站seo产品推广平台排行榜
  • 河南联通 网站备案色盲图
  • 二七网站建设企业网站推广方案
  • 用php做网站的方法软文代写文案
  • 多少网站域名采用中文关键词有哪些
  • 新龙华网站建设百度快照优化培训班
  • 开发平台指的是什么怎么快速优化网站
  • 要想学做网站国外免费网站域名服务器
  • 风铃网站代做seo关键词优化软件手机
  • 立方米网站建设域名停靠
  • 四川网站建设 lkcms百度快速查询
  • 外贸网站做开关的哪个好百度浏览器网址大全
  • 72建站网如何建设一个药材网站域名权重查询
  • 个人电脑做网站服务器唐山百度搜索排名优化