STM32CubeIDE使用示例(STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6)

news2024/11/16 19:51:22

本文简单记录下STM32CubeIDE的使用方法,整体的环境是STM32CubeMX+STM32CubeIDE+Gcc+JLINK+STM32G030C8T6,实现的简单测试功能是让STM32G030C8T6板子上的LED闪烁,以STM32G030C8T6 PB4 脚做LED 输出闪烁为例,外部8MHZ 晶振,系统主频64MHZ,LED 灯1 秒钟闪烁一次做一个示例程序;

文章目录

  • 一、环境确认
  • 二 、STM32CubeIDE新建工程
  • 三、写入LED闪烁的代码
  • 四、编译
  • 五、设置调试下载器
  • 五、下载程序,调试
  • 补充:STM32CubeIDE介绍

一、环境确认

1、我这边已经装好了STM32CubeMX、STM32CubeIDE、ARM gcc环境、JLINK等;如果你没有安装,请进行安装;
2、我这边已经安装配置好了STM32CubeMX,并通过CubeMX创建了一个STM32CubeIDE的项目;如果你没有完成,请参考:

  • 从零开始搭建STM32CubeMX开发环境
  • STM32CubeMX使用示例—生成LED闪烁工程

二 、STM32CubeIDE新建工程

打开STM32CubeIDE,选择File->Import…

在这里插入图片描述

选择General->Existing Projects into workspace->Next

在这里插入图片描述

选择之前STM32CubeMX生成的工程文件夹,如下图所示

在这里插入图片描述
然后点击Finish,工程就新建成功了,如下图所示:

在这里插入图片描述

三、写入LED闪烁的代码

在Core->Src->main.c中加入LED闪烁的代码:

  HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_4);
  HAL_Delay(500);

如下图所示:

在这里插入图片描述

四、编译

点击小锤子按钮进行构建(编译),发现无错误无警告即可,如下图所示:

在这里插入图片描述

五、设置调试下载器

点击小蜘蛛旁边的小三角,选择Debug Configurations…

在这里插入图片描述

双节STM32 C/C++ Application->调试器->调试探头,选择J-LINK(当然如果你是STLINK就选择STLINK),如下图所示

在这里插入图片描述
然后点击Debug;

五、下载程序,调试

上一步点击Debug后,程序已经进入调试阶段,此时程序已经被下载到单片机了;当然第一次可以像第四步这么设置和操作,在后续进行调试时,只需要直接点击小蜘蛛按钮即可直接进入调试阶段了;如下图所示:

在这里插入图片描述

进入调试阶段后,G0单片机开发板上的D1等熄灭了,说明程序只是下载进去了,还没开始运行,此时点击全速运行,也就是下图的图标:

在这里插入图片描述
此时可以发现单片机上的D1灯开始闪烁,完成。

如果灯没有闪,可以按下停止按钮(红色的实心正方形),然后再按全速运行即可。

补充:STM32CubeIDE介绍

STM32CubeIDE是STMicroelectronics开发的一款集成开发环境(IDE),用于编程和调试STM32微控制器。以下是对STM32CubeIDE的介绍:

  1. 功能特点:

    • 集成了STM32Cube软件平台,提供了丰富的软件组件和例程。
    • 支持多种编程语言,包括C、C++以及汇编语言。
    • 提供了直观易用的图形化界面,方便配置和管理工程。
    • 内置了调试器,支持在线调试和仿真功能。
    • 具备代码生成和自动完成功能,提高开发效率。
  2. STM32CubeMX集成:

    • STM32CubeMX是一个图形化配置工具,在STM32CubeIDE中进行集成。
    • 可以通过STM32CubeMX生成初始化代码和配置文件,并与项目完全集成。
    • 支持快速配置GPIO、时钟源、外部中断、定时器等外设。
    • 可以轻松添加和管理软件组件,如USB、CAN、RTOS等。
  3. 代码编写和调试:

    • 支持在STM32CubeIDE中创建和编辑源代码文件。
    • 提供了丰富的代码模板和示例代码,减少代码编写工作量。
    • 内置了强大的调试器,支持实时监视变量、寄存器和内存内容。
    • 支持单步执行、断点设置和观察表等调试功能。
    • 可以通过串口、JTAG/SWD接口或ST-Link进行连接和调试。
  4. 工程管理和版本控制:

    • 提供了工程管理功能,可以创建、打开和保存多个工程。
    • 支持版本控制系统(VCS),如Git,方便团队协作和版本管理。
    • 具备图形化界面,可显示工程目录结构和文件关系。
  5. 更新与支持:

    • STMicroelectronics定期发布STM32CubeIDE的更新版本,修复问题并引入新特性。
    • 官方提供丰富的技术文档、用户手册和示例代码,帮助用户快速上手和解决问题。
    • 用户可以在ST社区论坛上交流经验,获取支持和建议。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/738210.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

word 目录创建与提取

前言 word实际上一直在用,但是笔者在写文档都没关注目录的概念,实际上目录就是富文本或markdown编辑器的标题,可以起到跳转的作用。笔者的毕业论文的目录居然还是手打的。 目录创建 实际上word书写的时候就需要设置标题,最近的…

雅思单词量要达到多少才能达到要求?

对于刚开始备考雅思的同学来说,雅思单词是考好雅思的基础,雅思单词量要达到多少才能过关呢?下面为大家介绍一下雅思词汇量的要求。 一、雅思词汇量要求 雅思听力词汇 3000~5000左右,雅思听力是以场景展开的&#xff…

51单片机--定时器与按键控制流水灯模式

文章目录 定时器定时器的介绍定时器的作用定时器框图定时器的工作模式计数器原理图: 中断系统中断程序流程STC89C52的中断资源定时器和中断系统 定时器的相关寄存器TCONTMODTH与TL有关中断的寄存器 按键控制流水灯模式 定时器 定时器的介绍 51单片机上的定时器是一…

率先布局 RWA 赛道,PoseiSwap 成为最具先进性的 DEX

RWA 全称为现实资产通证化,比如股票、期货、美债甚至房产等传统资产。RWA 正在成为加密行业发展的一个全新叙事方向,除了传统商业巨头比如高盛、西门子等开始向该领域深入布局外,以 MakerDAO、Binance、Aave、Maple Finance 等为代表的 Web3 …

MySQL_2

目录 一、函数 1、字符串函数 2、数值函数 3、日期函数 4、流程控制函数 二、约束 1、概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2、目的:保证数据库中数据的正确、有效性和完整性。 3、分类 4、外键约束 4…

命名管道使用示例

用命名管道实现client和server端进行通信 【实现步骤】 创建两个没有关系的进程--》编写client和server源文件,并分别编译成可执行程序;创建命名管道文件,用函数int mkfifo(const char *filename,mode_t mode);client端以写的方式打开管道文…

日志消息直接发送到kafka设计

背景: 日常工作中,我们一般都有需要分析业务日志的需求,有些业务日志记录了用户点击或者用户购买行为等有用的信息,所以我们一般都需要基于这些日志进行分析,本文我们就来看一下这种日志消息的流转图 技术方案&#…

阿里云ECS扩容硬盘空间及文件系统

一.通过阿里云控制台扩容硬盘 前往ECS实例详情页面的云盘页签。 登录ECS管理控制台。在左侧导航栏,选择实例与镜像 > 实例。在顶部菜单栏处,选择目标ECS实例所在地域。找到待扩容云盘所在的实例,单击实例ID。在实例详情页面,单…

一起来探索录音转文字哪个软件好用

在数字时代,录音转文字技术成为了一种不可或缺的工具,通过将语音内容转化为可编辑和搜索的文字,从而为我们带来了许多便利。那本文将探讨录音转文字的好处,并分享一些实际案例以及录音转文字软件。那么如果你还不知道录音转文字哪…

想做软件测试工程师,这7件事你必须先知道

目录 一、“开发者测试” 就是“开发者来测试” 二、没有什么测试不可以“自动化测试” 三、开发者测试”利在当下“,”赢得未来“ 四、TDD不是必须先写测试代码 五、UT覆盖率100%真的很不好 六、用测试来驱动架构和代码质量 七、从“我要写测试依赖代码”到“…

在iPad上轻松做笔记和绘画,西圣Pencil上手

触控笔是一种提高工作学习效率的方便工具,尤其是和平板搭配使用。但是iPad的Apple Pencil价格昂贵,不适合学生等经济条件有限的用户,所以他们需要寻找一些性价比高的国产替代品。我最近用了一支国产的电容触控笔,叫做西圣Pencil触…

[C++] C++11新特性分析介绍(1): 列表初始化、右值引用、完美转发、移动语义...

文章目录 [toc] C11介绍统一的列表初始化 {}initializer_list新的声明autodecltypenullptr 范围for智能指针STL 新容器**右值引用 ****容器中 另外的右值引用 **万能引用与完美转发 ****新的类功能新默认成员函数强制生成默认函数的关键字 default禁止生成默认函数的关键字 del…

【网络安全】带你了解什么是【黑客】

文章目录 背景定义分类白帽黑客(White Hat Hacker)黑帽黑客(Black Hat Hacker)灰帽黑客(Gray Hat Hacker) 黑客文化伦理问题黑客常用的攻击手段黑客攻击用户的常用策略有以下这些:防御黑客攻击的…

[Android 13]Binder系列--获取服务

获取服务 hongxi.zhu 2023-7-8 一、客户端发起获取服务 以SurfaceFlinger进程中获取InputFlinger服务为例 frameworks/native/services/surfaceflinger/SurfaceFlinger.cpp sp<IBinder> input(defaultServiceManager()->getService(String16("inputflinger"…

Redis+IDEA极速了解和实现单机锁和分布式锁

单机下&#xff1a; 只适用于单机环境下&#xff08;单个JVM&#xff09;&#xff0c;多个客户端访问同一个服务器 1.synchronized package com.cloud.SR.controller;import org.springframework.beans.factory.annotation.Value; import org.springframework.data.redis.cor…

跟我一起从零开始学python(六)数据库编程:MongoDB数据库

前言 回顾之前讲了python语法编程 &#xff0c;必修入门基础和网络编程&#xff0c;多线程/多进程/协程等方面的内容&#xff0c;昨天和今天讲到了数据库编程篇MySQL&#xff0c;Redis今天第三篇MongoDB篇&#xff0c;前面没看的也不用往前翻&#xff0c;系列文已经整理好了&a…

多线程与并发编程【线程对象锁、死锁及解决方案、线程并发协作、生产者与消费者模式】(四)-全面详解(学习总结---从入门到深化)

目录 使用Class作为线程对象锁 使用自定义对象作为线程对象锁 死锁及解决方案 线程并发协作(生产者/消费者模式) 实现生产者与消费者模式 使用Class作为线程对象锁 语法结构&#xff1a; synchronized(XX.class){//同步代码} 或 synchronized public static void access…

【大语言模型】LLM应用程序的新兴体系结构

LLM应用程序的新兴体系结构 LLM应用栈设计模式&#xff1a;In-context learningData Preprocessing/EmbeddingPrompt Construction/RetrievalPrompt Execution/Inference What about agents?展望参考资料 大型语言模型是构建软件的强大新基元。但由于它们非常新颖且与常规计算…

css写法、颜色显示方式

一、什么是css 二、css的几种写法 1、行内样式 css写在标签的style属性上&#xff0c;优先级非常高&#xff0c;但是有多个标签具有相同样式代码重复高 2、页面样式 此时写在head&#xff08;不可见&#xff09;中&#xff0c;用style标签 3、外联样式 css样式也可以导入 一…

C++primer(第五版)第十六章(模板与泛型编程)

16.1定义模板 关于模板,第一个要提的点就是,这个字念mu模板而不是mo(一开始打字就发现拼音错了,突然觉得自己要会小学深造一下). 模板就是将一个特定场合使用的东西变成可以在多个场合使用的东西. 16.1.1函数模板 template<typename T> bool bijiao(T &a,T &…