物联网lwIP网络开发 1.2 Stm32以太网外设编程

物联网lwIP网络开发 1.2 Stm32以太网外设编程

  • STM32以太网外设编程
    • 编程流程
    • 原理图分析
    • PHY手册分析
      • PHY地址
      • PHY寄存器
        • BMCR
        • BMSR
        • PHYSTS
    • 以太网及其他外设初始化
      • 外设初始化
      • 配置PHY
      • 配置lwIP
      • printf 重定位
      • while调用lwip轮询任务


STM32以太网外设编程

编程流程

Created with Raphaël 2.2.0 原理图分析 PHY手册分析 以太网及其他外设初始化 lwIP配置

原理图分析

物联网lwIP网络开发 1.2 Stm32以太网外设编程_第1张图片

PHY手册分析

PHY地址

物联网lwIP网络开发 1.2 Stm32以太网外设编程_第2张图片

PHY寄存器

BMCR

BMSR

物联网lwIP网络开发 1.2 Stm32以太网外设编程_第3张图片

PHYSTS

以太网及其他外设初始化

外设初始化

Created with Raphaël 2.2.0 使能SWD接口 使能ETH 配置ETH GPIO 使能USART1

配置PHY

Created with Raphaël 2.2.0 配置PHY地址为0x01 配置PHYSTS寄存器地址为0x10 配置Speed Status 掩码为0x0002 配置Duplex Status 掩码为0x0004

配置lwIP

Created with Raphaël 2.2.0 使能lwIP 禁止DHCP服务 配置网卡IP地址信息

printf 重定位

int fputc(int ch, FILE *f)
{
    while((USART1->SR & 0X40)==0);
    USART1->DR = (uint8_t) ch;
    return ch;
}

while调用lwip轮询任务

  while (1)
  {
    /* USER CODE END WHILE */
		MX_LWIP_Process();

    /* USER CODE BEGIN 3 */
  }

注意配置Internet
物联网lwIP网络开发 1.2 Stm32以太网外设编程_第4张图片
在这里插入图片描述
物联网lwIP网络开发 1.2 Stm32以太网外设编程_第5张图片
物联网lwIP网络开发 1.2 Stm32以太网外设编程_第6张图片
物联网lwIP网络开发 1.2 Stm32以太网外设编程_第7张图片
物联网lwIP网络开发 1.2 Stm32以太网外设编程_第8张图片

你可能感兴趣的:(lwIP网络,网络,网络协议,stm32)