您的位置:首页 > 科技 > 能源 > 灰色项目源码_百度推广网页制作_seo经典案例_营销神器

灰色项目源码_百度推广网页制作_seo经典案例_营销神器

2025/4/18 9:50:15 来源:https://blog.csdn.net/FCZlll/article/details/147051778  浏览:    关键词:灰色项目源码_百度推广网页制作_seo经典案例_营销神器
灰色项目源码_百度推广网页制作_seo经典案例_营销神器

文章目录

    • 一、开发准备
      • 1、硬件准备
      • 2、软件准备
    • 二、STM32CubeMX工程配置步骤
      • 1、创建新工程
    • 三、外设配置步骤
      • 1)调试接口(SWD)配置
      • 2)时钟配置
      • 3)串口(USART)配置
      • 4)IO口配置(GPIO)
      • 5)以太网接口(Ethernet)配置
      • 6)定时器(Timer)配置
    • 四、工程生成及代码开发
      • 工程生成设置
    • 五、程序烧录与调试

一、开发准备

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):

  • 在Connectivity中打开 ETH

    image-20250407200248690

  • 选择模式为RMII模式MII模式(根据硬件PHY芯片确定,一般使用RMII)。

  • ETH相关引脚一般自动配置完成,请根据实际硬件设计即可。

    具体网口实现参考文章CubeMX配置STM32VET6实现网口通信(无操作系统版)

6)定时器(Timer)配置

以基础定时器TIM3为例:

  • 打开Timers选项,选择TIM3
  • 配置为Internal Clock模式。
  • 设置定时器预分频系数(Prescaler)和自动重装载值(ARR)以实现特定定时周期。如下设置为1ms:
项目配置示例说明
时钟频率84MHzAPB1总线定时器时钟频率
预分频值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正常。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com