STM32 Cube MX第一次配置详解

1. 准备工作

1.1 软件准备

下载界面
https://www.st.com/zh/development-tools/stm32cubemx.html#get-software
点击获取软件后选择最新版本,同意条款协议后填写邮箱姓名或注册登录账户以完成下载,下载完成后安装,同意协议等待安装完成。

1.2 下载支持包

在这里插入图片描述

在这里插入图片描述

1.3 硬件准备

本次使用MCU为STM32F429ZGT6,封装为LQFP144。

2.项目的搭建与配置

2.1 新建项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
搜索自己芯片的型号点击选择封装形式,选择完成后点击 start project。

2.2 搭建项目

主界面
选择Project Manager,修改项目名称,选择修改项目存储路径,选择编写工具

在这里插入图片描述
这里我使用的是keil5,所以选择MDK-ARM V5
修改完成后,选择Code Generator,按图示操作可将C文件和H文件分开。
分离C文件和H文件

2.3 项目设置

2.3.1 系统设置

我使用的是SWD下载的方式,在左侧SYS中的DEBUG选项选择"Serial Wire"烧录模式(4线烧录,CLK,DIO,VCC,GND)
烧录方式
在Pinout view中芯片引脚占用的引脚,就是烧录用到的引脚
在这里插入图片描述
我使用是外部的25M无源晶振,所以在左侧RCC中选择外部晶振
在这里插入图片描述
选择晶振后可以在Clock Configuration设置各总线时钟频率。平台电路上的是25M的外部晶振,则输入频率设置为25,其他的频率可以根据需求调节(就具体情况而定)。
选择HSE和PLLCLK,在HCLK处输入频率(MAX:180MHz),回车即可自动生成配置方案,最后根据需求可以调节分频设置各个总线的频率(主要看用到哪个定时器,不同的定时器用到不同的时钟源,具体根据STM32的官方芯片手册查询,这里用到TIM1,定时器1挂在总线APB2上)。
Clock Configuration

2.3.2 定时器设置

在Timers中选择TIM1进行设置
1.在TIM1 Mode中的时钟源Clock Source选择Intemal Clock
2.预分频值Prescaler选择7200-1即7199(16位最大表示65535,注意不要超过)
3.自动重装载值Period设置为10000-1,即9999。
4.在NVIC Settings中使能TIM1的更新中断。
设置完成后为每秒更新一次中断。
注:定时器频率=(总时钟频率/(1+Prescaler ))/(1+Period )
在这里插入图片描述

2.3.3 串口UART设置

我使用串口5作为打印输出,左侧选择UART5,右侧Mode选择异步通信传输Asynchronous。下面Configuration为具体参数如波特率,停止位,奇偶校检位和数据位等,可以根据需求设置(一般情况下默认即可)。
在这里插入图片描述

2.3.4 NVIC设置

关于中断优先级可以根据需求修改
在这里插入图片描述
在这里插入图片描述

2.3.5 代码生成

在这里插入图片描述
点击生成后打开项目即可。

3. 代码编写

开代码文件,选择main.c文件,要在串口打印数据,首先需要重定向Printf,在USER CODE中添加如下代码

int fputc(int ch, FILE *f)
{
    HAL_UART_Transmit(&huart5, (uint8_t *)&ch,1, 0xFFFF);
    return ch;
}

在这里插入图片描述
添加完成后会报错,在头文件中添加stdio.h 即可

然后在main函数中打开定时器1

在这里插入图片描述

最后编写中断函数,每秒打印一次 123456

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
    if (htim -> Instance == TIM1)
    {
        printf("123456\r\n");
    }
}

编译无错误后下载
在这里插入图片描述

4. 结果

代码编写完成,完成硬件连接后烧录代码,打开串口调试助手,根据之前的设置设定调试助手的参数。如图所示,操作正确会有数据显示。
在这里插入图片描述

更新时间2020/10/20

第一次写博客,有错误请指出,谢谢!

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
介绍STM32CubeMX 5.0.0 STM32CubeMX是32位ARM®Cortex®STM32微控制器的图形工具。它是STMCube“计划的一部分,既可以作为独立应用程序使用,也可以作为集成开发环境(IDE)集成的Eclipse插件使用 .STM32CubeMX具有以下主要功能: 轻松的微控制器选择涵盖整个STM32产品组合 从STMicroelectronics板列表中选择电路板。 简单的微控制器配置(引脚,时钟树,外设,中间件)和相应的初始化C代码的生成。 通过将先前保存的配置导入新的MCU项目,可轻松切换到属于同一系列的另一个微控制器。 生成配置报告。 为选择的集成开发环境工具链生成IDE就绪项目。STM32CubeMX项目包括生成的初始化C代码,STM32 HAL驱动程序,用户配置所需的中间件堆栈以及在所选IDE中打开和构建项目所需的所有相关文件。 用户定义的应用程序序列的功耗计算。 自我更新允许用户使STM32CubeMX保持最新状态。 下载和更新用户应用程序开发所需的STM32Cube“嵌入式软件”(有关STM32Cube嵌入式软件产品的详细信息,请参阅附录E:STM32Cube嵌入式软件包)。 安装并运行STM32CubeMX 5.0.0 支持的操作系统和体系结构 Windows®7:32位(x86),64位(x64) Windows®8:32位(x86),64位(x64) Windows®10:32位(x86),64位(x64) Linux®:32位(x86)和64位(x64)(在RedHat,Ubuntu和Fedora上测试) 由于STM32CubeMX是32位应用程序,因此某些版本的Linux 64位 发行版需要安装32位兼容软件包,如作为ia32-libs。 MacOS:64位(x64)(在OS X Yosemite上测试) 软件要求 在Windows和Linux上:Java运行时环境(最低版本1.7.0_45) 在MacOS上:Java开发工具包(最低版本1.7.0_45) 安装STM32CubeMX 要安装STM32CubeMX,请执行以下步骤: 将最新的STM32CubeMX安装包的全部内容从http://www.st.com/stm32cubemx解压缩(解压缩)到同一目录中 在Windows上 确保您拥有管理员权限 双击SetupSTM32CubeMX-5.0.0.exe文件 在Linux上 确保您具有目标安装目录的访问权限,您可以以root(或sudo)身份运行安装,以在共享目录上安装STM32CubeMX 在SetupSTM32CubeMX-5.0.0.linux文件上双击(或从控制台窗口启动) 在MacOS上 确保您具有目标安装目录的访问权限,您可以以root(或sudo)身份运行安装,以在共享目录上安装STM32CubeMX 在SetupSTM32CubeMX-5.0.0应用程序上双击(或从控制台窗口启动) 安装后,您可以安全地从磁盘中删除zip的内容。 有关系统要求或其他可能安装的更多详细信息,请参阅STM32CubeMX用户手册。 运行STM32CubeMX 在Windows上 从Program Files> ST Microelectronics> STM32CubeMX中选择STM32CubeMX。 或者双击桌面上的STM32CubeMX图标。 在Linux上 从STM32CubeMX安装目录启动STM32CubeMX可执行文件 在MacOS上 从启动板启动STM32CubeMX应用程序 卸载STM32CubeMX 要卸载STM32CubeMX,请执行以下步骤: 在Windows上 打开Windows控制面板。 选择“程序和功能”以显示计算机上安装的程序列表。 右键单击STM32CubeMX并选择卸载功能。 在Linux上 使用文件资源管理器,进入STM32CubeMX安装的卸载程序目录,然后双击startuninstall桌面快捷方式 或使用java -jar /Uninstaller/uninstaller.jar手动启动卸载 在MacOS上 使用文件资源管理器,进入STM32CubeMX安装的Uninstaller目录,然后双击uninstaller.jar 或直接将STM32CubeMX应用程序移动到回收站中
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值