这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » DIY与开源设计 » 电子DIY » 【Let'sdo第1期-DIY功率检测与控制系统】-过程帖

共1条 1/1 1 跳转至

【Let'sdo第1期-DIY功率检测与控制系统】-过程帖

菜鸟
2025-06-23 10:19:19     打赏

   我这边经常使用keil对arm架构的单片机进行开发,本次活动我也是使用该开发软件。对于STM32F411的底层驱动部分,我使用STM32cube MX软件进行配置,也是非常方便的,而且熟练的掌握HAL库的操作,开发软件很方便。

一:keil5 mdk的下载网址如下:

https://www.keil.com/download/product/

我们可以根据自己的需求进行下载。

KEIL下载.png

下载之后,直接一键安装就可以,建议将其安装再C盘,默认安装就可以,这里就不做解释了。

最后,安装完成之后,由于keil5 mdk本身是需要收费的,但是个人学习使用的话,我们使用注册机进行注册就可以了。

二:STM32cube Mx软件的安装过程

STM32CubeMX作为一种图形化工具,可以用于配置任何STM32器件。这款简单易用的图形用户界面为Cortex-M内核生成初始化C代码,并为Cortex-A内核生成Linux器件树。

第一步包括选择与所需外设集匹配的意法半导体STM32微控制器、微处理器或开发平台,同时包括在特定开发平台上运行的示例。

对于微处理器,第二步允许配置GPIO和设置整个系统的时钟,并交互地将外设分配给Arm® Cortex®-M或Cortex®-A内核。特定实用工具(如DDR配置和微调)增强了STM32微处理器的易用性。对于Cortex®-M内核,配置包含了额外步骤,与微控制器的十分相似。

对于微控制器和微处理器Arm® Cortex®-M,第二步为通过引脚分配冲突处理器、时钟树设置助手、功耗计算器,以及用于配置外设(如GPIO或USART)和中间件栈(如USB或TCP/IP)的实用工具来配置各个必需的嵌入式软件。

借助增强型STM32Cube扩展包,可扩展默认软件和中间件栈。可直接通过STM32CubeMX中可用的专用包管理器,直接下载意法半导体或意法半导体合作伙伴提供的软件包,其他软件包可以从本地驱动器进行安装。

此外,STM32CubeMX中的独特实用程序STM32PackCreator可帮助开发人员构建自己的增强型STM32Cube扩展包。

最终,用户可以生成与所选配置匹配的软件包。这一步提供Arm® Cortex®-M初始化C代码(可随时用于多个开发环境),或面向Arm® Cortex®-A的部分Linux®设备树。

STM32CubeMX在STM32Cube中交付。

我们需要再STM32 的生态社区下载软件

连接如下 

https://www.st.com.cn/zh/development-tools/stm32cubemx.html#st-get-software

三:STM32CubeProgrammer 软件的使用

STM32CubeProgrammer (STM32CubeProg) 是一款用于编程STM32产品的全功能多操作系统软件工具

它提供了一个易用高效的环境,通过调试接口(JTAG和SWD)和自举程序接口(UART、USB DFU、I2C、SPI和CAN)读取、写入及验证器件内存。

STM32CubeProgrammer的功能广泛,可以对STM32内部存储器(如Flash、RAM和OTP)以及外部存储器进行编程。

STM32CubeProgrammer还允许选择编程和上传、编程内容验证以及通过脚本自动编程。

STM32CubeProgrammer提供了GUI(图形用户界面)和CLI(命令行界面)版本。

四:程序的编写过程:

4.1 看下板载的LED引脚

3.png

使用STM32CUBEMX软件;总体来说官方提供的图形化配置工具,非常的好用。可以完成基本的芯片外设的配置,比如:GPIO的设置,硬件IIC配置,硬件的SPI配置,ADC、DAC、UART、TIM、PWM配置等等,总之你想要底层驱动部分,在这个软件上面自动生成。

4.2 STM32 cube MX 软件配置过程

新建工程,选择STM32 型号

4.png

选择本次活动使用的开发板 STM32F411RE,

5.png

如上图所示:STM32 cube MX中会把所有的IO口引脚标识出来,而且除电源VCC,GND引脚,BOOT0引脚,复位引脚NRST外,所有的引脚都是灰色的,

我这边使用的时候,先打开芯片的调试接口,然后配置时钟来源为系统滴答定时器

下载了一次程序之后,不能进行二次下载了(不过也不用担心,用串口也是可以进行下载的),再者就是单片机的心脏-时钟树的配置了。


这里为了方便调节,把每个.c 和.H文件分开, 方便代码的编写:

五:调试代码:

在生成的代码中增加对LED灯引脚的操作程序,如下所示:

view plaincopy to clipboardprint?

    int main(void)  {      /* USER CODE BEGIN 1 */      /* USER CODE END 1 */      /* MCU Configuration--------------------------------------------------------*/      /* Reset of all peripherals, Initializes the Flash interface and the Systick. */    HAL_Init();      /* USER CODE BEGIN Init */      /* USER CODE END Init */      /* Configure the system clock */    SystemClock_Config();      /* USER CODE BEGIN SysInit */      /* USER CODE END SysInit */      /* Initialize all configured peripherals */    MX_GPIO_Init();    /* USER CODE BEGIN 2 */      /* USER CODE END 2 */      /* Infinite loop */    /* USER CODE BEGIN WHILE */    while (1)    {      /* USER CODE END WHILE */        /* USER CODE BEGIN 3 */     HAL_GPIO_TogglePin(GPIOA,GPIO_PIN_5);     HAL_Delay(500);    }    /* USER CODE END 3 */  }  

注意再下载界面,打开程序复位操作:

11.png

实物验证:

WeChat_20250520193959 00_00_00-00_00_30.gif

这个帖子主要是介绍STM32 cube 基本配置过程,使能调试接口,配置系统的滴答定时器,GPIO口的配置。

希望对初次使用cube MX 配置工程的铁子一点点的帮助。





关键词: 检测     功率     控制系统     STM32     配置    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]