STM32CubeIDE开发(一),快速开发流程初体验

这篇具有很好参考价值的文章主要介绍了STM32CubeIDE开发(一),快速开发流程初体验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、cubeIDE下载、安装

 二、创建工程及配置芯片引脚

三、编码及编译

四、加载已编译程序到硬件及测试

五、程序运行效果


一、cubeIDE下载、安装

        STM32CubeIDE是STM32Cube软件生态系统的一部分,是面向st芯片的高级C/C++开发平台,具有STM32微控制器和微处理器的外设配置、代码生成、代码编译和调试功能。它基于Eclipse®/CDT™框架和用于开发的GCC工具链,以及用于调试的GDB。它支持集成数以百计的现有插件,正是这些插件使Eclipse® IDE的功能趋于完整。STM32CubeIDE集成了STM32CubeMX的STM32配置与项目创建功能,在通过所选板卡或示例选择一个空的STM32 MCU或MPU,或者预配置微控制器或微处理器之后,将创建项目并生成初始化代码。在开发过程的任何时间,用户均可返回外设或中间件的初始化和配置阶段,并重新生成初始化代码,期间不会影响用户代码。

        下载地址:STM32CubeIDE - STM32的集成开发环境 - STMicroelectronics,需要邮箱获得下载许可

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

 汉化包地址:Index of /eclipse/technology/babel/update-site/

本文安装时汉化包版本:

在线安装路径:Index of /eclipse/technology/babel/update-site/R0.19.2/2021-12/

直接下载离线安装:http://mirrors.ustc.edu.cn/eclipse/technology/babel/update-site/R0.19.2/babel-R0.19.2-2021-12.zip   

下载完stmcubeIDE后,双击安装包完成安装:

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

安装完成后,去help->install new software配置安装汉化包

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

 选择简体中文完成在线安装

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

 二、创建工程及配置芯片引脚

        汉化完后,重启软件,在文件->新建工程->stm32 project,输入自有芯片型号,本文是STM32L496VGTx

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

 点击下一步,输入工程名,选择工程路径,完成工程创建

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         工程完成创建后,直接弹出cubeMX配置界面,可以图形化配置芯片引脚接口

        开启USB串口能力

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         本文仅开始外部高速时钟(HSE)

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         系统时钟频率直接拉满到80MHz

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         为了简单测试工程,仅仅配置三个按键及三个LED灯的GPIO

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         工程管理,保持默认设置,

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         代码生产页面,只按需生成,为每个接口类型生成独立头文件及源码文件

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         高级设置页面,保持设置,1)本文GPIO选择HAL库实现,也可以点击选择LL库,2)GPIO初始化调用直接生成(main.c中实现),也可在Do Not Generate Call勾选去掉,也可以去掉Visibility(Static)选项,不生成GPIO初始化函数

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         点击菜单栏保存或代码生产按钮,实现cubeMX配置到源码生成

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

 代码生成后,GPIO接口映射信息配置在main.h中

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         生成GPIO接口源码为gpoi.h/c,仅仅提供了GPIO初始化函数,实现时调用HAL库函数来实现的。

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

        先创建自己的按键及LED驱动,该驱动同样是基于HAL库提供的函数实现,而HAL库和底层硬件打交道,间接帮我们实现对硬件读写控制等能力。

三、编码及编译

        在工程目录右键->新建->source Folder创建一个源目录,并添加key.h/c、led.h/c四个源文件

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         key.h

/*
 * key.h
 *
 *  Created on: Sep 29, 2022
 *      Author: py_hp
 */

#ifndef KEY_H_
#define KEY_H_

#include "main.h"
#include "gpio.h"

GPIO_PinState get_key0_val();
GPIO_PinState get_key1_val();
GPIO_PinState get_key2_val();

#endif /* KEY_H_ */

key.c

/*
 * key.c
 *
 *  Created on: Sep 29, 2022
 *      Author: py_hp
 */
#include "key.h"

GPIO_PinState get_key0_val()
{
	return HAL_GPIO_ReadPin(KEY0_GPIO_Port,KEY0_Pin);
};

GPIO_PinState get_key1_val()
{
	return HAL_GPIO_ReadPin(KEY1_GPIO_Port,KEY1_Pin);
};

GPIO_PinState get_key2_val()
{
	return HAL_GPIO_ReadPin(KEY2_GPIO_Port,KEY2_Pin);
};

led.h

/*
 * led.h
 *
 *  Created on: Sep 29, 2022
 *      Author: py_hp
 */

#ifndef LED_H_
#define LED_H_
#include "main.h"
#include "gpio.h"

void Toggle_led0();
void Toggle_led1();
void Toggle_led2();

void set_led0_val(GPIO_PinState PinState);
void set_led1_val(GPIO_PinState PinState);
void set_led2_val(GPIO_PinState PinState);

#endif /* LED_H_ */

led.c

/*
 * led.c
 *
 *  Created on: Sep 29, 2022
 *      Author: py_hp
 */
#include "led.h"

void Toggle_led0()
{
	HAL_GPIO_TogglePin(LED0_GPIO_Port,LED0_Pin);
}

void Toggle_led1()
{
	HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin);
}

void Toggle_led2()
{
	HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin);
}

void set_led0_val(GPIO_PinState PinState)
{
	HAL_GPIO_WritePin(LED0_GPIO_Port,LED0_Pin,PinState);
};

void set_led1_val(GPIO_PinState PinState)
{
	HAL_GPIO_WritePin(LED1_GPIO_Port,LED1_Pin,PinState);
};

void set_led2_val(GPIO_PinState PinState)
{
	HAL_GPIO_WritePin(LED2_GPIO_Port,LED2_Pin,PinState);
};

        在main.c加入key和led实现,在代码预留用户自行区域加入自主编写代码,这样cubeMX改动后再次生产代码不会修改抹去自己已经写入或修改的代码

        添加头文件

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         添加函数调用实现,可自行斟酌调用

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

          右键点击项目,进入属性页面(也可以直接菜单进入),勾选本项目编译程序输出文件格式支持

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         点击编译按钮完成编译

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

四、加载已编译程序到硬件及测试

        点击help->ST-Link更新,运行配置更新,便于直接将编译好的软件下载的硬件上。

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

        点击运行工具按钮的运行配置,进入配置页面,在STM32 C/C++ Application新建调试配置,每个项目仅配置一次,后面就可以直接点击运行按钮加载编译好的软件到硬件,

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

        将电脑与硬件用数据线连接,点击运行下载程序

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         或者采用其他下载工具,如STM32 ST-LINK Utility加载

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

五、程序运行效果

        展示效果如下:

	  Toggle_led2();//闪灯
	  set_led0_val(get_key0_val());//按键亮灯
	  HAL_Delay(100);

        【1】闪灯

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX

         【2】按键亮灯

stm32cubeide,STM32CubeIDE开发实践案例,单片机,stm32,嵌入式硬件,stm32cubeIDE,stm32cubeMX文章来源地址https://www.toymoban.com/news/detail-787073.html

到了这里,关于STM32CubeIDE开发(一),快速开发流程初体验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • STM32基于CubeIDE和HAL库 基础入门学习笔记:物联网项目开发流程和思路

    文章目录: 第一部分:项目开始前的计划与准备 1.项目策划和开发规范  1.1 项目要求文档 1.2 技术实现文档 1.3 开发规范 2.创建项目工程与日志 第二部分:调通硬件电路与驱动程序 第三部分:编写最基础的应用程序 第四部分:完成最终要求、反复调试 第五部分:程序优化、

    2024年02月13日
    浏览(41)
  • 开发环境搭建-stm32CubeIDE配置

    使用方法如下: 在CubeIDE的安装路径STM32CubeIDEplugins下找到org.eclipse.cdt.ui_7.3.201.202205131409.jar,并将此文件改名备份,然后,将下载的同名插件文件复制到该路径下,重新启动STM32CubeIDE即可。 百度地址 链接: https://pan.baidu.com/s/17qxUiMLNhVgsV0rx0f2U5g 提取码: a5yf Window-preferences-General

    2024年02月09日
    浏览(36)
  • STM32CubeIDE开发(二十九), 如何结合FreeRTOS开发STM32程序

    目录 一、STM32CubeIDE使用内置的FreeRTOS 二、创建使用FreeRTOS系统的STM32CubeIDE工程 三、使用FreeRTOS功能 四、编译及测试 一、STM32CubeIDE使用内置的FreeRTOS         不同于STM32CubeIDE使用像RTThread这些第三方物联网系统,STM32CubeIDE在安装时就已经在MiddleWare中间件一栏直接支持了Free

    2024年02月12日
    浏览(38)
  • STM32CubeIDE开发(二十六), STM32的CAN总线开发要点

    目录 一、CAN总线简介         1.1 CAN概述         1.2 CAN总线较其他串行通信优势         1.3 CAN总线通信          1.4 报文种类及格式          1.5 CAN应用 二、CAN工程创建及配置         2.1 工程设计及原理框图          2.2 工程创建接配置 三、代码设计

    2023年04月15日
    浏览(41)
  • STM32CubeIDE开发(四), stm32调试信息串口通信输出显示

    目录 一、stm32串口配置 三、串口驱动功能调用及编译实现 四、编译测试         关于cubeIDE开发基本技巧及流程,本文不详细叙述,请参考:cubeIDE快速开发流程_py_free的博客-CSDN博客_cubeide汉化 一、stm32串口配置         本文采用的开发板是stm32L496VGT3,其有两个 USB 接口,

    2023年04月08日
    浏览(42)
  • 【STM32Cube开发记录】1-下载和安装STM32CubeIDE

    【STM32Cube开发记录】1-下载和安装STM32CubeIDE 【STM32Cube开发记录】2-STM32CubeProgrammer的使用 【STM32Cube开发记录】3-STM32CubeMX的使用 【STM32Cube开发记录】4-标准库 HAL库 LL库 【STM32Cube开发记录】5-寄存器和存储器映射 【STM32Cube开发记录】6-STM32核心功能 【STM32Cube开发记录】7-Debug调试功

    2024年01月17日
    浏览(35)
  • STM32CubeIDE开发(二十二), stm32的RS485/232串口通信开发要点

    目录 一、stm32串口通信         1.1 硬件流控          1.2 软件流控         1.3 串口通信参数 二、新建RS485通信工程         2.1 项目实现背景信息         2.2 项目配置         2.3 代码实现    三、RS485驱动调用及测试         3.1 接口调用        3.2 编

    2024年01月20日
    浏览(46)
  • STM32CubeIDE开发(十一), STM32实时时钟(RTC)写入及读取日历时间开发要点

    目录 一、RTC简介 二、工程创建及配置  三、驱动代码设计实现 四、编译及测试         实时时钟的缩写是RTC(Real_Time Clock),核心是晶振,晶振频率一般为32768 Hz 。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期

    2024年01月16日
    浏览(36)
  • STM32CubeIDE开发(二十七), stm32的WIFI通信设计(基于AT指令)

    目录 一、stm32的WIFI配置 二、代码设计 三、编译及测试 四、关于WIFI模块的串口应用 一、stm32的WIFI配置         通常WIFI模块就是一个独立的单片机,只是内置了WFIF通信软件的单片机,并该通信软件提供了AT通信指令集给开发人员,基于这些指令集我们就可以针对项目需要

    2024年02月04日
    浏览(64)
  • STM32CubeIDE开发(二), 全面解析cubeMX图形配置工具

    目录 一、cubeIDE 集成cubeMX 二、STM32CubeMX界面简介         2.1 总界面及支持功能        【1】 功能页面          【2】支持配置的功能栏目          2.2 通信接口外设配置         【1】CAN外设          【2】FMC外设         【3】I2C外设         【4】串

    2023年04月12日
    浏览(72)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包