打印
[其他ST产品]

以太网初始化代码

[复制链接]
54|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
t60yz|  楼主 | 2024-6-29 00:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include "stm32h7xx_hal.h"
#include "lwip.h"

ETH_HandleTypeDef heth;
ETH_TxPacketConfig TxConfig;

void SystemClock_Config(void);
void MX_GPIO_Init(void);
void MX_ETH_Init(void);
void Error_Handler(void);

int main(void)
{
    HAL_Init();
    SystemClock_Config();
    MX_GPIO_Init();
    MX_ETH_Init();

    while (1)
    {
        // 用户代码
    }
}

void MX_ETH_Init(void)
{
    heth.Instance = ETH;
    heth.Init.MACAddr = macaddress;
    heth.Init.MediaInterface = HAL_ETH_RMII_MODE;
    heth.Init.RxMode = ETH_RXPOLLING_MODE;
    heth.Init.ChecksumMode = ETH_CHECKSUM_BY_HARDWARE;
    heth.Init.PhyAddress = DP83848_PHY_ADDRESS;

    if (HAL_ETH_Init(&heth) != HAL_OK)
    {
        Error_Handler();
    }

    memset(&TxConfig, 0, sizeof(ETH_TxPacketConfig));
    TxConfig.Attributes = ETH_TX_PACKETS_FEATURES_CSUM | ETH_TX_PACKETS_FEATURES_CRCPAD;
    TxConfig.ChecksumCtrl = ETH_CHECKSUM_IPHDR_PAYLOAD_INSERT_PHDR_CALC;
    TxConfig.CRCPadCtrl = ETH_CRC_PAD_INSERT;
}


使用特权

评论回复
沙发
t60yz|  楼主 | 2024-6-29 00:51 | 只看该作者
调试和常见问题排查
PHY通信:确保STM32能够通过MDIO和MDC与PHY进行通信。使用HAL_ETH_ReadPHYRegister和HAL_ETH_WritePHYRegister函数检查PHY寄存器。
PHY地址:确保在初始化中使用正确的PHY地址。
链路状态:检查PHY的链路状态寄存器,确保物理连接正常。
中断和事件处理:确保正确处理以太网中断和事件。

使用特权

评论回复
板凳
4y1b3| | 2024-6-30 19:45 | 只看该作者
111111111111111

使用特权

评论回复
地板
4y1b3| | 2024-6-30 19:45 | 只看该作者
111111111111111

使用特权

评论回复
5
4y1b3| | 2024-6-30 19:45 | 只看该作者
11111111

使用特权

评论回复
6
4y1b3| | 2024-6-30 19:45 | 只看该作者
1111111111

使用特权

评论回复
7
4y1b3| | 2024-6-30 19:46 | 只看该作者
111111111

使用特权

评论回复
8
suncat0504| | 2024-6-30 22:26 | 只看该作者
高端!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

903

帖子

0

粉丝