STM32cubmax配置STM32407VET6,实现网络通信

发布于:2025-04-08 ⋅ 阅读:(39) ⋅ 点赞:(0)

一、开发准备

1、硬件准备

  • STM32F407VET6开发板(核心为STM32F407系列芯片)
  • ST-Link或J-Link仿真器
  • 网线、串口转USB模块(如CP2102)
  • 杜邦线及其他外设

2、软件准备

  • STM32CubeMX(版本可选最新,如6.9.2)
  • Keil MDK或者STM32CubeIDE
  • STM32F4固件库(STM32CubeF4,安装网站如下:Arm Keil | Keil STM32F4xx_DFP

以上工具可以在ST官网免费获取。


二、STM32CubeMX工程配置步骤

打开STM32CubeMX后,按照如下流程搭建:

1、创建新工程

  • 打开CubeMX软件,选择ACCESS TO MCU SELECTOR
    在这里插入图片描述

  • 在搜索框输入芯片型号 STM32F407VET6,可能会安装必要的软件库,默认安装即可
    在这里插入图片描述

  • 双击对应芯片型号进入芯片配置界面。
    在这里插入图片描述


三、外设配置步骤

1)调试接口(SWD)配置

在这里插入图片描述

2)时钟配置

  • 根据硬件原理图连接将外部高速时钟和低速时钟打开
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 切换到Clock Configuration标签页,配置时钟树
    在这里插入图片描述

  • 推荐STM32F407时钟配置为168MHz主频:

    • 选择HSE为晶振源(8MHz),因为外部晶振是8M,所以这里设置为8MHZ
    • PLL设置:PLL_M=8, PLL_N=336, PLL_P=2(网口的时钟通过外部晶振单独提供)
  • CubeMX会自动计算并配置出最佳时钟方案,确保无误差提示后应用配置即可。

3)串口(USART)配置

以配置USART1为例:

  • 在芯片引脚图上找到 USART1

  • 设置为异步模式(Asynchronous)

  • 根据硬件连接,设置GPIO引脚:

    • PA9USART1_TX
    • PA10USART1_RX
  • 配置波特率,如115200 bits/s,数据位8,停止位1,无奇偶校验。

在这里插入图片描述

打开串口1接收中断

image-20250407200039172

4)IO口配置(GPIO)

在GPIO视图中选择所需的IO口,假设需要配置:

  • PE13-PE15四个LED灯IO为输出模式,推挽输出模式,上拉,默认高电平。
    在这里插入图片描述

  • 若配置输入,按键PE10-PE12,则配置为输入模式,带内部上拉。
    在这里插入图片描述

具体步骤:

  • 点击对应GPIO口,设置为Output(输出)或Input(输入)模式。
  • 配置GPIO输出速度(建议:Medium),根据需求选择推挽或开漏模式。

5)以太网接口(Ethernet)配置

具体网口实现参考文章CubeMX配置STM32VET6实现网口通信(无操作系统版)
STM32F407内置MAC,需要外部PHY芯片(如DP83848或LAN8720A):

6)定时器(Timer)配置

以基础定时器TIM3为例:

  • 打开Timers选项,选择TIM3
  • 配置为Internal Clock模式。
  • 设置定时器预分频系数(Prescaler)和自动重装载值(ARR)以实现特定定时周期。如下设置为1ms:
项目 配置示例 说明
时钟频率 84MHz APB1总线定时器时钟频率
预分频值 84 - 1 (84MHz/(83+1)=1000KHz)
ARR值 1000 - 1 (1000KHz/1000=1000Hz)即1毫秒

image-20250331091857830

打开定时器2全局中断:

image-20250331092009928


四、工程生成及代码开发

工程生成设置

  • Project Manager页配置:

    • 工程路径、名称,选择开发工具如Keil MDK或CubeIDE

    • Toolchain/IDE选择为MDK-ARM或CubeIDE(按个人使用工具而定)

    • 勾选Generate peripheral initialization as a pair of '.c/.h' files per peripheral

      image-20250331093419572

  • 工程高级设置:

    image-20250331110339303

  • 点击GENERATE CODE生成工程文件,用Keil打开代码工程。

    image-20250331110712026


五、程序烧录与调试

  • 使用Keil或CubeIDE编译代码,无错误后连接仿真器ST-Link/J-Link。
  • 下载代码到开发板,打开串口监视软件(如串口助手)观察USART输出。
  • 使用网络工具(如ping)验证以太网连接与配置。
  • 检查LED灯和按键功能,确保定时器和IO正常。